Windows 10shell
基于对话框函数
新建【MFC_基于对话框_消息处理】的项目,这个文件的中的类继承自 CWinApp。主要是由InitInstance()函数实现的。3d
// MFC_基于对话框_消息处理.h: PROJECT_NAME 应用程序的主头文件 // #pragma once #ifndef __AFXWIN_H__ #error "在包含此文件以前包含“stdafx.h”以生成 PCH 文件" #endif #include "resource.h" // 主符号 // CMFC基于对话框消息处理App: // 有关此类的实现,请参阅 MFC_基于对话框_消息处理.cpp // class CMFC基于对话框消息处理App : public CWinApp { public: CMFC基于对话框消息处理App(); // 重写 public: virtual BOOL InitInstance(); // 实现 DECLARE_MESSAGE_MAP() }; extern CMFC基于对话框消息处理App theApp;
InitInstance()里声明一个对话框类,【CMFC基于对话框消息处理Dlg】是另外一个文件里的类,也就是主要功能代码都是在这个类里面写的。code
// CMFC基于对话框消息处理App 初始化 BOOL CMFC基于对话框消息处理App::InitInstance() { CWinApp::InitInstance(); ...代码省略... // 生成界面 CMFC基于对话框消息处理Dlg dlg; m_pMainWnd = &dlg; INT_PTR nResponse = dlg.DoModal(); if (nResponse == IDOK) { // TODO: 在此放置处理什么时候用 // “肯定”来关闭对话框的代码 } else if (nResponse == IDCANCEL) { // TODO: 在此放置处理什么时候用 // “取消”来关闭对话框的代码 } else if (nResponse == -1) { TRACE(traceAppMsg, 0, "警告: 对话框建立失败,应用程序将意外终止。\n"); TRACE(traceAppMsg, 0, "警告: 若是您在对话框上使用 MFC 控件,则没法 #define _AFX_NO_MFC_CONTROLS_IN_DIALOGS。\n"); } // 删除上面建立的 shell 管理器。 if (pShellManager != nullptr) { delete pShellManager; }