如何判断对话框中输入的所有的数据是否有效? EDIT控件添加MessageMap:EN_CHANGE,在每次键入一个字符的时候判断字符串是否有效,有效则使OK button enable 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我的意见是在Onok里判断,如果不合法,那么直接返回,不让他执行基类的onok这样要好维护一点 我用的都是Searph的方法,这样可能也要好些。还有一种方法就是从CEdi派生t,非法字符都不让他有机会输进去,这样人机界面更好些,而且只需要重载ON_KEYDOWN的处理函数,很简单。 截KILL_FOCUS也可以,不过要小心不要搞得CANCEL不了咯 在执行 CDialog::OnOK()时会自动判断数据是否有效!可否直接进入OnOK()修改?变量是否为int 和 date型的函数是什么? EDIT控件添加MessageMap:EN_CHANGE UpdateData(); EDIT控件添加MessageMap:EN_CHANGE UpdateData(); AntGhazi方面不错,能解决你的问题。 我觉得这样处理不好,你可以重载OnOk函数,然后在进入后使用如下代码进行判断:可以通过classwizard来对每一个edit或其它控件生成一个对应的变量.CDialog::OnOk(){ UpdateDate(); if (m_edit1 <2000) { 提示为无郊数据 让用户选择继续还是退出} else { 合法数据添加到数据库中}} 不好意思,我下山摘桃子喽~~:1 从CEdit派生类并且重载OnChar等;2 重载OnOK3 处理EN_CHANGE;结合起来使用应该可以了。如果EDIT很多,要求又差不多,我倾向于方法1,2结合。int isdigit(int ch);判断ch是否数字(0~9) 如何从一个字符串中读取需要的数据? 如何做一个开机自启动程序 新手问题,关于ActiveX控件的 一个奇怪的难题,谢谢各位。 急!如何在APP中取得VIEW,DOC,MAINFRAM的指针? 各位师哥师姐,帮帮我 maleangel,进来拿分,感谢你的帮助,我的问题解决了 MFC ODBC 如何确定一个表是否存在啊? VC++中是否有类似COleDateTime数据类型和COleDateTimeSpan但要支持毫秒的数据类型 如何不重复启动 请教关于cgi中用C写连接Oracle( 关于vc6的怪事!!!
可否直接进入OnOK()修改?变量是否为int 和 date型的函数是什么?
可以通过classwizard来对每一个edit或其它控件生成一个对应的变量.
CDialog::OnOk()
{
UpdateDate();
if (m_edit1 <2000)
{
提示为无郊数据
让用户选择继续还是退出
}
else
{
合法数据添加到数据库中
}
}
1 从CEdit派生类并且重载OnChar等;
2 重载OnOK
3 处理EN_CHANGE;
结合起来使用应该可以了。如果EDIT很多,要求又差不多,我倾向于方法1,2结合。
int isdigit(int ch);判断ch是否数字(0~9)