对话框程序没有文档类管理,“是否需要”这个程序逻辑需要历虚纯你自己管理,比如加一个对话框成员变量IsChanged,有了修改就标记为真。
产生提示,应该在classwizard里面重载对话框WM_CLOSE消息,
void CDialog1::OnClose(){
// TODO: Add your message handler code here and/or call default
int ret = AfxMessageBox("誉芦退出保存?",MB_YESNOCANCEL)//应该三态按钮,允许取消
if(ret==IDCANCEL)
return
else if(ret==IDOK)
{
//保存和处理数据
肢咐 }
CDialog::OnClose()
}
那个东西触发OnClose消息,OnClose内部又会触发OnCancel消息,按纳滚键盘esc键或者按下界洞纯余面上默认的那个取消按钮触发OnCancel消息,如果这三种关闭的途径都想修改的话那就重写OnCancel,如果只想修改右上角按钮就重写OnCloseif(MessageBox(_T("真的想裤洞退出?"),_T("确认退出"),_MB_OKCANCEL)==IDOK)
{
CDialog::OnClose()
}
else
{
//不点确定就不会退出
}
liuhu314回答的显然不正确。改腔。。 break是用来跳出循环的,狂汗。。设置断点程序就直接退出了,还怎么核孝衫能做到暂停。。。如果是想程序刮起慎没,可以采用下列语句:
SuspendThread(GetCurrentThread())
注意,一定要包含windows.h这个头文件。
解释:
SuspendThread(HANDLE)是暂停/挂起线程。参数是将要被挂起的进程句柄,而GetCurrentThread()函数正是获得当前线程的句柄,即获得当前的程序所在线程的句柄,所以可以实现程序暂停的功能。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)