00. 目录

01. 概述

我们接下来创建一个Win32项目辅助了解Windows的基础知识。要创建一个程序,也称为应用程序,从MFC的CWinApp派生一个类。CWinApp代表Windows应用程序的Class。

下面我们一起看一个简单的例子,创建一个新的Win32项目。

02. 创建Win32项目

2.1 打开Visual Studio,然后单击文件→新建→项目菜单选项
【MFC】创建第一个Win32项目_C++

2.2 选择win32项目

从左窗格中,选择模板→Visual C ++→Win32。

在中间窗格中,选择Win32项目。

在“名称”字段中输入项目名称“TestDemo”,然后单击“确定”继续。
【MFC】创建第一个Win32项目_C++_02

2.3 选择下一步
【MFC】创建第一个Win32项目_CWinApp_03

2.4 选择空项目,选择完成
【MFC】创建第一个Win32项目_应用程序_04

2.5 设置为MFC项目

要使其成为MFC项目,请右键单击该项目,然后选择“属性”

在左侧部分,单击配置属性→常规。

在“项目默认值”部分中选择“在共享的DLL中使用MFC”选项,然后单击“确定”。
【MFC】创建第一个Win32项目_C++_05

2.6 添加源文件

右键单击您的项目,然后选择添加→新建项目…

在模板部分,单击C ++文件(.cpp)。
【MFC】创建第一个Win32项目_CFrameWnd_06

03. 程序示例

3.1 要创建应用程序,需要从MFC的CWinApp派生一个类

class Test:public CWinApp
{


	BOOL InitInstance()
	{
		return TRUE;
	}
};

3.2 创建窗口类

还需要一个框架/窗口来显示我们的应用程序的内容。

为此需要添加另一个类,并从MFC的CFrameWnd类派生它,并实现其构造函数和调用Create()方法,这将创建一个框架/窗口,如下面的代码所示。

class MyFrame:public CFrameWnd
{

public:
	MyFrame()
	{
		Create(NULL, TEXT("MFC TEST"));
	}
};

3.3 创建窗口对象

创建窗口后,让应用程序使用它,您可以使用指针来显示用于创建窗口的类。在这种情况下,指针将是CFrameWnd。要使用框架窗口,将其指针分配给CWinThread :: m_pMainWnd成员变量。这在您的应用程序的InitInstance()实现中完成。

class Test:public CWinApp
{


	BOOL InitInstance()
	{
		MyFrame *frame = new MyFrame();

		m_pMainWnd = frame;

		frame->ShowWindow(SW_NORMAL);
		frame->UpdateWindow();

		return TRUE;
	}
};

3.4 程序示例

#include "afxwin.h"



class MyFrame:public CFrameWnd
{

public:
	MyFrame()
	{
		Create(NULL, TEXT("MFC TEST"));
	}
};


class Test:public CWinApp
{


	BOOL InitInstance()
	{
		MyFrame *frame = new MyFrame();

		m_pMainWnd = frame;

		frame->ShowWindow(SW_NORMAL);
		frame->UpdateWindow();

		return TRUE;
	}
};

Test test;

04. 执行结果

【MFC】创建第一个Win32项目_C++_07

05. 附录

5.1 官方参考文档

网址:https://docs.microsoft.com/zh-cn/cpp/mfc/reference/cwinapp-class?view=msvc-160