在OnChar中判断手机中文输入入,该怎么解决

vc++生成的对话框程序默认是不会响應OnChar和OnKeyDown消息的会被其它控件拦截
如果不修改代码,使用时会发现不会进入这两个事件响应函数必须修改重写PreTranslateMessage()虚函数才能正确地
响应这两個消息函数,具体实现如下:
 
 
 
 
这样就能在对话框中响应WM_CHAR、WM_KEYDOWM消息了注意在发送WM_CHAR时,实际发送了三个消息
 
 
 
 
所以如果你有如下代码:
 
 
会弹出兩个消息对话框 ,所以最好单独在WM_KEYDOWM或WM_KEYUP处理事件

如果仅右击编辑框属性在style勾上Number屬性的话, 是不能输入小数

// 点字符不能多于1个

// 不允许输入数字和点以外的字符


我原来是这样做的加一个变量計数,当遇到IME输入的时候记录总字数和剩余字数,然后在OnChar里数数直到最后一个字符的时候才真正做事。对了我的程序是Unicode的,所以每個字符都占2个字节



我要回帖

更多关于 手机中文输入 的文章

 

随机推荐