在VC ++ 6.0基于对话框的MFC应用程序:我不希望我的用户通过在顶部右侧窗口本身的按下按钮[X]也(ALT + F4)关闭窗口。 我想显示一个消息框(“你真的要关闭应用程序”); 如果用户单击OK按钮,然后应用程序,如果用户点击取消按钮,那么应用程序不能关闭,关闭,否则。
Answer 1:
您需要实现OnClose()
只调用基类的OnClose()
如果你想退出。
Answer 2:
处理WM_SYSCOMMAND
消息,做这样的事情在里面。
void CMyApp::OnSysCommand(UINT nID, LPARAM lParam)
{
if(nID == SC_CLOSE)
{
if(MessageBox(_T("Really"), _T("What"), MB_YESNO) == IDYES);
//Do What you want here.
else
//Do something else
}
else
{
CDialog::OnSysCommand(nID, lParam);
}
}
以下是如何WM_SYSCOMMAND处理程序添加到您的代码:
转到ClassView中。 右键点击你的对话框类,如果它是一个基于对话框的应用程序或主机类,如果它是一个SDI / MDI应用程序。 单击属性。
在属性窗口中,单击消息按钮。 向下滚动到WM_SYSCOMMAND和下拉组合双击添加的处理程序。
要么
您可以通过添加消息映射条目手工做得一样好。 并分别.H /添加的.cpp声明/定义。
文章来源: Close Button on Title Bar in MFC