如何限定编辑框中数值的范围 是范围,比如说输入的数值只能在0-24内,不是位数 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 给该edit关联一个int变量,这时就可以在ClassWizard里看到可以设定输入范围了。 CLassWisard里你映射变量的时候有一个最大最小的限定的 OnChangeEdit(){ CString str; GetDlgItemText(IDC_EDITMESSAGE,str); int i = atoi( str ); if(i<24) { ............ }} 这些方法我都知道,用ClassWizard限定的时候即使你规定范围在0-24之间,编辑框还是能输入不在范围内的数的,只不过在确定的时候会弹出提醒框,我的意思是不在范围里的数输都输不进去,就象你规定CSting型的位数是2位的话第3位就输不进去。再请教! 可以如此实现方法1:重载CEdit类,如CEditLimit24,然后响应OnChar事件,每当用户输入时,首先获取Edit框中的已有内容,如果已有内容和当前输入的数字拼起来会超过24的话就提示用户,且直接返回(不调用CEdit::OnChar())即可。方法2:可以在对话框中的PreTranslateMsg方法中截获OnChar事件,再进行如上的判断即可。其实这里面并不牵涉到具体的技术方面的东西,只是一些思想与方法的问题。 怎么运行和debug都不能弹出对话框 如果客户端多进程,服务端返回的的信息是否能够区分哪个进程? 关于STATIC TEXT控件!菜鸟问题! 如何生成cbitmap 请问怎样去掉CPropertyPage的Tab? 制作安装程序中的一个小问题 哥们,看看这段代码,内存泄漏!!!!! 怎样删除文件中的记录?? 如何自己控制拆分窗口的显示 win2000的ntfs 分区,怎么格式化啊,写了啊,各位超虾 祝大家身体好,今天高兴,散点分,大家高兴。 如何让我的程序运行快起来???
{
CString str;
GetDlgItemText(IDC_EDITMESSAGE,str);
int i = atoi( str );
if(i<24)
{
............
}
}
方法1:重载CEdit类,如CEditLimit24,然后响应OnChar事件,每当用户输入时,首先获取Edit框中的已有内容,如果已有内容和当前输入的数字拼起来会超过24的话就提示用户,且直接返回(不调用CEdit::OnChar())即可。
方法2:可以在对话框中的PreTranslateMsg方法中截获OnChar事件,再进行如上的判断即可。其实这里面并不牵涉到具体的技术方面的东西,只是一些思想与方法的问题。