MFC程序Edit Box数据类型校验
请高手支招,一个貌似简单的问题啊!做了一个简单的专用计算器,简单到大家可以理解为做一个加法运算:三个EditBox控件,两个用于输入加数和被加数,第三个用于显示计算结果;...
请高手支招,一个貌似简单的问题啊!
做了一个简单的专用计算器,简单到大家可以理解为做一个加法运算:三个Edit Box控件, 两个用于输入加数和被加数,第三个用于显示计算结果;
由于这三个控件都与int型变量关联,所以运行时若输入的数据类型不对,控件更新时就会弹出一对话框“请输入一个整数”;
当然,关闭这个警告,重新输入即可。问题是,由于我的这个计算器的主要运算代码不是写在按钮事件下,而是通过定时器消息OnTimer来刷新数据,为了达到输入数据即可看到计算结果的效果,定时器的间隔为100ms,这样,我一旦输入了一个非整数,就会飞速连续弹出将近50个对话框“请输入一个整数”,一一关闭非常费劲!
应该有一个解决方案,将控件设置为字符型,自己写校验代码,还可以加个killTimer的消息中止OnTimer,但我的计算器中输入文本框太多,有8个,如果每个都这么自己写类型验证代码,就比较繁琐了,所以不考虑
在此求高手指点:为什么警告对话框会弹出50个(一般为47个48个,自己觉得理论上只要OnTimer消息没有被中止,就会一直弹出警告),如何解决这个问题?
不胜感激 展开
做了一个简单的专用计算器,简单到大家可以理解为做一个加法运算:三个Edit Box控件, 两个用于输入加数和被加数,第三个用于显示计算结果;
由于这三个控件都与int型变量关联,所以运行时若输入的数据类型不对,控件更新时就会弹出一对话框“请输入一个整数”;
当然,关闭这个警告,重新输入即可。问题是,由于我的这个计算器的主要运算代码不是写在按钮事件下,而是通过定时器消息OnTimer来刷新数据,为了达到输入数据即可看到计算结果的效果,定时器的间隔为100ms,这样,我一旦输入了一个非整数,就会飞速连续弹出将近50个对话框“请输入一个整数”,一一关闭非常费劲!
应该有一个解决方案,将控件设置为字符型,自己写校验代码,还可以加个killTimer的消息中止OnTimer,但我的计算器中输入文本框太多,有8个,如果每个都这么自己写类型验证代码,就比较繁琐了,所以不考虑
在此求高手指点:为什么警告对话框会弹出50个(一般为47个48个,自己觉得理论上只要OnTimer消息没有被中止,就会一直弹出警告),如何解决这个问题?
不胜感激 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询