在MFC中,退出程序的代碼寫法如下:
// 聲明一個全局變量,用于保存應用程序對象
CMyApp theApp;
// 定義應用程序類
class CMyApp : public CWinApp
{
public:
// 構造函數
CMyApp() {}
// 重寫 OnInitInstance 函數,在此函數中初始化應用程序
virtual BOOL InitInstance()
{
// 創建主窗口
// 返回 TRUE 表示初始化成功
return TRUE;
}
// 重寫 OnExitInstance 函數,在此函數中清理資源
virtual int ExitInstance()
{
// 清理資源
// 調用父類的 ExitInstance 函數
return CWinApp::ExitInstance();
}
};
// 在主窗口類中,通過消息映射響應 WM_CLOSE 消息
BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
ON_WM_CLOSE()
END_MESSAGE_MAP()
// 處理 WM_CLOSE 消息
void CMainFrame::OnClose()
{
// 調用應用程序的退出函數
theApp.ExitInstance();
// 關閉窗口
CFrameWnd::OnClose();
}
在上面的代碼中,全局變量 theApp
是應用程序對象,通過調用 theApp.ExitInstance()
來退出程序。在主窗口類中,通過消息映射的方式響應 WM_CLOSE
消息,并在消息處理函數中調用 theApp.ExitInstance()
來退出程序。