关注公号【逆向通信猿】更精彩!!!
一、MFC的组成
a)必须有一个CWinApp的派生类;
b)必须用派生类在全局定义一个对象theApp;
c)在派生类中必须重写InitInstance虚函数;
d)MFC程序就用CWinApp派生类中的InitInstance虚函数作为主函数;
二、MFC对话框程序的消息处理(消息映射机制)
a)为一个对话框模板建立一个与之关联的CDialog或CDialogEx派生类;
b)在需要启动对话框用派生类定义一个对象,在用对象调用DoModal成员函数;
c)MFC如果要处理一个消息,只要打开类向导,选择在下拉中这个对话框类;
d)在消息列表中就可以选择你需要的消息,双击即可建立消息映射函数;
e)消息映射函数就是:一个消息(和一个窗口)对应一个函数的地址
三、Win32项目与MFC项目关系
①新建一个空项目
②添加头文件App.h
#pragma once
#include <afxwin.h>
class CApp :public CWinApp
{BOOL InitInstance();public:CApp();~CApp();
};
③添加对应的源文件App.cpp
#include "App.h"
CApp theApp;BOOL CApp::InitInstance()
{//作为启动函数MessageBoxA(NULL, "我的模拟MFC程序开发", "温馨提示:", MB_OK);return 0;
}CApp::CApp()
{
}CApp::~CApp()
{
}
④设置项目
在静态库中使用MFC
多线程调试(/MTd)
编译,运行
⑤新建对话框资源,并关联类
⑥添加头文件和代码
在App.h
中添加头文件afxdialogex.h、resource.h、MainDlg.h
在MainDlg.h
中添加头文件resource.h
BOOL CApp::InitInstance()
{//作为启动函数CMainDlg dlg;dlg.DoModal();return 0;
}
编译、运行,由此项目转换为MFC对话框应用程序。