【MFC系列2】Win32项目转换为MFC项目

关注公号【逆向通信猿】更精彩!!!

一、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对话框应用程序。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/wlwdecs_dn/article/details/121201926