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