MFC中Edit Box值的问题
控件映射的是Int类型的,输入如果不是数字的话,它自动会弹出需要键入数字的对话框,这个是VC自己做好了的。但是能不能在输入其他字符的时候,判断不是数字而做一些操作,应该怎...
控件映射的是Int类型的,输入如果不是数字的话,它自动会弹出需要键入数字的对话框,这个是VC自己做好了的。但是能不能在输入其他字符的时候,判断不是数字而做一些操作,应该怎么判断呢?控件映射的变量名为m_edit
展开
2个回答
展开全部
这种情况的话,用控件变量好些,就是你绑定变量的时候,选择控件,而不是值,如图:
比如我有一个EditBox,给它绑定一个控件变量,变量名叫m_editTest,然后,在你需要判断的地方添加如下代码:
CString strValue;
//获取文本框的值
m_editTest.GetWindowText(strValue);
//这里只简单判断转换成整数之后的值作为例子
//如果包含字母转换出来的值就是0
//还可以自己来进行检查,比如挨个检查文本框的值是不是数字
if (atoi(strValue) <= 0)
{
//如果不是数字,执行其它操作,比如光标定位到文本框之类的
AfxMessageBox("只能输入数字!");
m_editTest.SetFocus();
}
判断里就可以执行你想要的操作了,这个比用值变量要灵活一点,如果只是简单要求输入数字,那还是值变量要方便一点,各有优缺点
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询