使用visual studio 2019 创建过程请参考Bili的上一篇文章⬇⬇
→!使用visual studio 2019 创建简单的MFC窗口「使用底层的C语言」
划重点:项目->属性->常规->高级->将MFC的使用设置为在“共享dll中使用mfc”
头文件mfc.h#include //mfc头文件class MyApp:public CWinApp{public:virtual BOOL InitInstance();};class MyFrame :public CFrameWnd {//窗口框架类public:MyFrame();//声明宏 提示消息映射机制DECLARE_MESSAGE_MAP();afx_msg void OnLButtonDown(UINT,CPoint);afx_msg void OnChar(UINT,UINT,UINT);afx_msg void OnPaint();};
源文件mfc.cpp#include "mfc.h"MyApp app;BOOL MyApp::InitInstance() {//创建窗口MyFrame* frame = new MyFrame;//显示和更新frame->ShowWindow(SW_SHOWNORMAL);frame->UpdateWindow();m_pMainWnd = frame;//保存指向应用程序的主窗口的指针return TRUE;//返回正常初始化}//分界宏BEGIN_MESSAGE_MAP(MyFrame, CFrameWnd)ON_WM_LBUTTONDOWN()//鼠标左键按下ON_WM_CHAR()ON_WM_PAINT()END_MESSAGE_MAP()MyFrame::MyFrame(){Create(NULL,TEXT("windows"));}void MyFrame::OnLButtonDown(UINT, CPoint point){//TCHAR buf[1024];//wsprintf(buf, TEXT("x = %d,y = %d"), point.x, point.y);//MessageBox(buf);CString str;str.Format(TEXT("x = %d,y = %d"),point.x,point.y);MessageBox(str);}void MyFrame::OnChar(UINT key, UINT, UINT){CString str;str.Format(TEXT("按下了%c键"),key);MessageBox(str);}void MyFrame::OnPaint(){CPaintDC dc(this);dc.TextOutW(100,100,TEXT("为了部落"));dc.Ellipse(10,10,100,100);}