00. 目录
文章目录
01. 概述
我们接下来创建一个Win32项目辅助了解Windows的基础知识。要创建一个程序,也称为应用程序,从MFC的CWinApp派生一个类。CWinApp代表Windows应用程序的Class。
下面我们一起看一个简单的例子,创建一个新的Win32项目。
02. 创建Win32项目
2.1 打开Visual Studio,然后单击文件→新建→项目菜单选项
2.2 选择win32项目
从左窗格中,选择模板→Visual C ++→Win32。
在中间窗格中,选择Win32项目。
在“名称”字段中输入项目名称“TestDemo”,然后单击“确定”继续。
2.3 选择下一步
2.4 选择空项目,选择完成
2.5 设置为MFC项目
要使其成为MFC项目,请右键单击该项目,然后选择“属性”
在左侧部分,单击配置属性→常规。
在“项目默认值”部分中选择“在共享的DLL中使用MFC”选项,然后单击“确定”。
2.6 添加源文件
右键单击您的项目,然后选择添加→新建项目…
在模板部分,单击C ++文件(.cpp)。
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. 执行结果
05. 附录
5.1 官方参考文档
网址:https://docs.microsoft.com/zh-cn/cpp/mfc/reference/cwinapp-class?view=msvc-160