00. 目录


文章目录


00. 目录01. 概述02. 创建Win32项目03. 程序示例04. 执行结果05. 附录


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项目_MFC_02

2.3 选择下一步

【MFC】创建第一个Win32项目_CFrameWnd_03

2.4 选择空项目,选择完成

【MFC】创建第一个Win32项目_CWinApp_04

2.5 设置为MFC项目

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

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

在“项目默认值”部分中选择“在共享的DLL中使用MFC”选项,然后单击“确定”。

【MFC】创建第一个Win32项目_CFrameWnd_05

2.6 添加源文件

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

在模板部分,单击C ++文件(.cpp)。

【MFC】创建第一个Win32项目_MFC_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项目_CWinApp_07

05. 附录

5.1 官方参考文档

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