title: vs2019 安装配置MFC
time: 2019年8月27日22:55:57
vs2019 MFC
安装MFC
-
打开vs安装程序
-
选中c++桌面开发
-
选择Visual Studio扩展开发
-
(若想快速配置)选择C++ MFC 生成工具(x86 和 x64)进行安装
-
选择修改,等待安装
-
创建新项目,选择MFC应用
空项目 配置MFC 快速构建
- 新建头文件
#include<afxwin.h>//mfc头文件
//应用程序类CWinApp,定义MyAPP类,作为派生类(子类)
class MyApp : public CWinApp
{
public:
//基类的虚函数(接口),子类去实现
//MFC程序的入口地址
virtual BOOL InitInstance();
};//定义类结尾要加;
class MyFrame:public CFrameWnd
{
public:
MyFrame(); //构造函数
};
-
新建源文件
#include "mfc.h" MyApp myapp; //表示调用头文件的构造函数 MyFrame::MyFrame() { //创建入口 Create(NULL, TEXT("我的第一个MFC窗口")); } //实现父类方法 BOOL MyApp::InitInstance() { //1、创建框架类对象 MyFrame* myframe = new MyFrame; //调用上面的定义的方法 //2、显示窗口 myframe->ShowWindow(SW_SHOWNORMAL); //3、更新窗口 myframe->UpdateWindow(); //4、保存框架类对象指针 m_pMainWnd = myframe; return TRUE;//初始化正常,返回true }
-
项目----属性----配置属性----高级----MFC的使用设为在共享DLL中使用MFC
-
运行
-
无法解析的外部符号 _main,该符号在函数 "int __cdecl invoke_main(void)"报错
- 项目----属性----配置属性----链接器----系统----子系统设为窗口Windows
消息映射
-
声明宏,写到.h中
//声明消息映射宏,必须在类声明中(相当于开启的入口) DECLARE_MESSAGE_MAP();
-
分界宏
BEGIN_MESSAGE_MAP(MyFrame, CFrameWnd)//开始 END_MESSAGE_MAP()//结束
-
找消息宏,放在分界宏中间
//分界宏 //定义消息宏,必须在类实现中 BEGIN_MESSAGE_MAP(MyFrame, CFrameWnd)//开始 ON_WM_LBUTTONDOWN()/