用这个:LRESULT CMy011225D00Dlg::WindowProc(UINT message, WPARAM wParam, LPARAM lParam) { // TODO: Add your specialized code here and/or call the base class switch(message) { case WM_SYSCOMMAND: if(wParam==SC_CLOSE) { TRACE("处理系统命令\n"); MessageBox("关闭按钮"); return 0; } break; } return CDialog::WindowProc(message, wParam, lParam);}
响应的是这个函数……void CDlgDlg::OnSysCommand(UINT nID, LPARAM lParam){ if ((nID & 0xFFF0) == IDM_ABOUTBOX) { CAboutDlg dlgAbout; dlgAbout.DoModal(); } else { CDialog::OnSysCommand(nID, lParam); // <---这个 }}在else 之前加上 你对X 的处理函数就可以了。对了,消息是SC_CLOSE Close the CWnd object.其他 的消息请参见 CWnd::OnSysCommand
OnSysCommand 中处理SC_CLOSE
x关闭按钮是如何关闭程序的,请详细说明