在PreTranslateMessage()里判断可以吗?
解决方案 »
- 【求助】VS2005中如何在对话框上添加一个按钮
- 在线等,解决问题马上结贴,谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢
- 给一个vc连接sqlserver的odbc的连接字符串吧?
- VC环境下用ADO访问Oracle的一个问题,请大家帮忙~~~~~~~~~~~~
- 为什么我的鼠标改不了?
- 关于EditBox控件,内容覆盖的问题??请教!
- 如何作这种C/S模式的数据库程序?
- 求教一个问题:怎样在Document-View结构中的View中插入一个控件,如显示图片的控件
- 请问在vc中文件读写的具体过程
- 如何在程序中动态设置ADO DATA数据源,继而绑定DATAGRID控件的数据源
- 很泄气!
- 初学VC,不知如何入门?
为Edit控件添加EN_CHANGE消息处理函数,将下面代码放在该处理函数里。
该方法主要根据单字节有形字符编码是0x20-0x7e,GB18030标准中双字节有形字符编码第一字节为0x81-0xfe这一事实,遍历sz,如果碰到>0x7e,就delete该字节和其后的字节
//取得指向该Edit控件的指针,IDC_EDITSGL为该控件的资源ID
CEdit* pEdit=(CEdit*)GetDlgItem(IDC_EDITSGL);
CString sz="";
pEdit->GetWindowText(sz);
unsigned char c1;
BOOL bFlag=TRUE;
// while循环用来delete去sz中的双字节字符
while (bFlag)
{
bFlag=FALSE;
for ( int i=0;i<sz.GetLength();i++ )
{
c1 = sz.GetAt(i);
if ( c1 > 0x7e )
{
sz.Delete(i);
if ( i < sz.GetLength() )
sz.Delete(i);
bFlag = TRUE;
break;
}
}
}
// sz现在只有单字节有形字符
pEdit->SetWindowText(sz);
int nLen=sz.GetLength();
// 将光标移到Edit控件的最后
pEdit->SetSel(nLen,nLen);