To destroy a window, an application must use the DestroyWindow function. for example void CModeless::OnOK() { if (!UpdateData(TRUE)) { TRACE0("UpdateData failed during dialog termination\n"); // The UpdateData routine will set focus to correct item return; } DestroyWindow(); }send WM_CLOSE is also OK。
找到WM_CLOSE,双击产生函数OnClose(),
编辑此函数,即能控制关闭时的操作.
如果是MFC,CLASSWIZARD里面可以添加的,^_^
void CMainFrame::OnSysCommand(UINT nID, LPARAM lParam)
{
// TODO: Add your message handler code here and/or call default
if(nID == SC_CLOSE)
{
//do somthing;
}
CFrameWnd::OnSysCommand(nID, lParam);
}
你可以在这俩个消息中改写。
for example
void CModeless::OnOK()
{
if (!UpdateData(TRUE))
{
TRACE0("UpdateData failed during dialog termination\n");
// The UpdateData routine will set focus to correct item
return;
}
DestroyWindow();
}send WM_CLOSE is also OK。
void Disable()
{
int MyMenu ;
MyMenu = GetSystemMenu(Me.hwnd, 0);
RemoveMenu (MyMenu, SC_CLOSE, MF_BYCOMMAND);//SC_CLOSE代表X关闭的命令
}