我在一个CDialog中的一个事件中
void CNetserverDlg::OnKillfocusCardId()
{
// TODO: Add your control notification handler code here
AfxMessageBox("此号码不存在请于有关单位联系");
}
输入后跳出AfxMessageBox("此号码不存在请于有关单位联系");
按确定后CDialog随之不见了
不知道是没有重绘还是被释放了
那怎样才能使他再次输入其它事件
void CNetserverDlg::OnKillfocusCardId()
{
// TODO: Add your control notification handler code here
AfxMessageBox("此号码不存在请于有关单位联系");
}
输入后跳出AfxMessageBox("此号码不存在请于有关单位联系");
按确定后CDialog随之不见了
不知道是没有重绘还是被释放了
那怎样才能使他再次输入其它事件
如果是这样的话,可能是调用了CDialog::OnOK(),
才使得对话框关闭了
在这个OnKillfocus函数中,是不是也调用的基类的OnKillfocus函数?
{
int a=MessageBox("此号码不存在请于有关单位联系","提示?",MB_YESNO|MB_ICONQUESTION); if(a==IDYES)
CDialog::OnClose();//如果按确定,则关闭对话框 if(a==IDCANCEL)//如果按了取消则继续执行(不关闭对话框)
{
..........
}
}
在edit的OnKillfocusEdit1()事件中
也只有这个语句
AfxMessageBox("此号码不存在请于有关单位联系");
但按确定后CDialog随之不见了
而我并没有执行或引用CDialog::OnOK();
用向导做一个(用MFC APPWIZARD)创建一个基本对话类型
后新建一个edit来是一试
在CEdit空间里面编辑之后如何动作啊??是不是点了确定按钮或回车。总不能弹出对话框后直接弹出messagebox吧??如果是就重载onok函数吧。
除非重载这个函数,不再让他调用CDialog::OnOK, 或者自己添加一个按钮,然后编写相应的代码就可以了.
跳出AFXMESSAGEBOX所产生的对话框单击AFXMESSAGEBOX里的确定按钮
对话框就被释放了
void CNetserverDlg::OnOk()
{
// TODO: Add your control notification handler code here
CDialog::OnOK();
}
但CDialog照样自己释放了
我刚试了 一个edit响应失去焦点的事件后没问题的 dialog不会退出(按道理也是没关系得..)
你肯定是输入数据后按回车键了,那样对话框会自动调用CDialog::ONOK()函数;
当然退出了如何处理ONOK函数,看看VC++技术内幕。。