在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()
来退出程序。