MFC中Edit Box值的问题

控件映射的是Int类型的,输入如果不是数字的话,它自动会弹出需要键入数字的对话框,这个是VC自己做好了的。但是能不能在输入其他字符的时候,判断不是数字而做一些操作,应该怎... 控件映射的是Int类型的,输入如果不是数字的话,它自动会弹出需要键入数字的对话框,这个是VC自己做好了的。但是能不能在输入其他字符的时候,判断不是数字而做一些操作,应该怎么判断呢?控件映射的变量名为m_edit 展开
 我来答
拥云庄主
推荐于2016-01-18 · TA获得超过2505个赞
知道小有建树答主
回答量:672
采纳率:100%
帮助的人:425万
展开全部

这种情况的话,用控件变量好些,就是你绑定变量的时候,选择控件,而不是值,如图:

比如我有一个EditBox,给它绑定一个控件变量,变量名叫m_editTest,然后,在你需要判断的地方添加如下代码:

CString strValue;
//获取文本框的值 
m_editTest.GetWindowText(strValue);
//这里只简单判断转换成整数之后的值作为例子 
//如果包含字母转换出来的值就是0
//还可以自己来进行检查,比如挨个检查文本框的值是不是数字   
if (atoi(strValue) <= 0)
{
  //如果不是数字,执行其它操作,比如光标定位到文本框之类的 
  AfxMessageBox("只能输入数字!");
  m_editTest.SetFocus();
}

判断里就可以执行你想要的操作了,这个比用值变量要灵活一点,如果只是简单要求输入数字,那还是值变量要方便一点,各有优缺点

百度网友1680984
2013-09-24 · TA获得超过414个赞
知道小有建树答主
回答量:968
采纳率:0%
帮助的人:455万
展开全部
有一个editchange函数,控件的内容发生变化就会调用这个函数,你添加这个函数然后在函数里面处理
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式