VC++ MFC对话框怎么在退出程序时提示是否保存数据和删除程序运行产生文档?

2024-11-29 00:29:44
推荐回答(2个)
回答1:

对话框程序没有文档类管理,“是否需要”这个程序逻辑需要你自己管理,比如加一个对话框成员变量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();
}

回答2:

直接在你退出的那个按钮上的关联函数内后边加上
if(IDYES == MessageBox("是否保存数据和删除程序运行产生文档","温馨提示",MBYESNO))
{
保存数据相关语句;
删除程序产生文档相关语句;
}