+ -
当前位置:首页 → 问答吧 → MFC限制Edit Control输入为16进制数

MFC限制Edit Control输入为16进制数

时间:2011-12-09

来源:互联网

如题:为保证数据的输入,要限制输入为2位16进制数比如0A,现在想在输入的时候就判断是不是符合格式的数据,并弹出提示。
也想过获取输入的数据后进行判断,但感觉有更好的方法,大家给点建议,谢谢!

作者: qxw88   发布时间: 2011-12-09

PretranslateMessage + WM_EDITCHANGE 

每次PretranslateMessage 中 WM_CHAR的时候,判断一下这个字符是不是十六进制数,不是的话直接return TRUE;

在WM_EDITCHANGE时检查格式就行了。

格式不对的话,某个按钮不可用。

作者: jennyvenus   发布时间: 2011-12-09

也可以派生个CEdit,在CEdit里去处理,如果只有1个地方用到了可以在父窗口中去处理,如果这样的EDIT有多个,可以单独派生出一类来处理,处理的方法跟楼上一样

作者: dahaiI0   发布时间: 2011-12-09

纠正下措辞,在CEdit中处理是直接响应WM_CHAR

作者: dahaiI0   发布时间: 2011-12-09