VS2022 的 MFC 安装之 Hello World | 您所在的位置:网站首页 › view类在哪MFC › VS2022 的 MFC 安装之 Hello World |
VS2022 的 MFC 安装之 Hello World ---- IT笔记之1
开场白VS2022 的安装选项用VS2022, 利用 MFC 写一个 Hello World! 的代码作为测试用例
开场白
大学期间可能学的编程语言是 C++ 和 Java 。而学 C++,就绕不开 MFC, MFC 全称是 Microsoft Foundation Classes 。是微软比尔•盖茨时代的经典力作,而 Visual Studio 6 的出现,更是把 MFC 推向了顶峰。今天,随着技术的发展,一些诸如远程控制、视频会议的 WebRTC, 以及各类游戏等等的开发,都离不开 C++, 当然也就绕不过 MFC 。 用 C++ 和 MFC 有什么好处呢?好处就是它的作图以及图像处理是以像素点为基础的,不像 C# 的 WPF, 与像素点无关,而是一个作图单位被定义成 1/96 英寸,这对渲染带来了复杂度,效率大大降低,而且获取截屏变得困难,所以,今天的视频会议,远程控制,宁可用 C++ , 也不愿意使用 C# 。如今流行的 WebRTC 的截屏技术,正是使用 MFC 的 GetWindowDC。所以,让我们重拾 MFC 吧。 今天的 Visual Studio 已经到了 2022 版本,废话少说,我们看看,利用 Visual Studio 2022, 怎样实现一个简单的 MFC 的 Hello World!的程序 VS2022 的安装选项我们这里不把安装从头讲起,也许你已为 .Net Core 提前安装了 Visual Studio 2022, 那么,默认的情况下,MFC 是不支持的,那么,就按下列步骤安装 步骤一:启动 Visual Studio Installer , 选择修改, 如下图所示![]() ![]() ![]() 步骤一、启动 VS2022, 创建新项目,如下图所示 步骤二、在搜索栏里输入“C++”, 空格, “Windows”,出现一些选项,选择 “Windows 桌面向导”,然后点击“下一步”,如下图所示: 步骤三、在填写好项目名称,确定好项目所存放的文件夹位置,点击创建,如下图所示 在随后弹出的对话框中,勾选“空项目”,用了默认的"控制台应用程序"就点击“确定”,不要紧,后面在配置里面改。 步骤五,右键点击“头文件” -> “添加” -> “新建项” 步骤六、建立 Hello.h 头文件 步骤七、输入头文件代码 #pragma once #include class CMyApp : public CWinApp { public: virtual BOOL InitInstance(); }; class CMainWindow :public CFrameWnd { public: CMainWindow(); protected: afx_msg void OnPaint(); DECLARE_MESSAGE_MAP(); };步骤八、右键点击“源文件” -> “添加” -> “新建项” 步骤九、输入源程序源代码 #include "Hello.h" CMyApp myApp; BOOL CMyApp::InitInstance() { m_pMainWnd = new CMainWindow(); m_pMainWnd->ShowWindow(m_nCmdShow); m_pMainWnd->UpdateWindow(); return TRUE; } BEGIN_MESSAGE_MAP(CMainWindow, CFrameWnd) ON_WM_PAINT() END_MESSAGE_MAP() CMainWindow::CMainWindow() { Create(NULL, _T("Hello"), WS_OVERLAPPEDWINDOW, CRect(32, 64, 352, 304)); } void CMainWindow::OnPaint() { CPaintDC dc(this); CRect rect; GetClientRect(&rect); dc.DrawText(_T("Hello,World!"), -1, &rect, DT_SINGLELINE | DT_CENTER | DT_VCENTER); } 步骤十、对项目的属性页里,做如下修改 由于在新建空白项目的时候,选择了默认的控制台(_CONSOLE), 没有选择 窗口(_WINDOWS), 所以,要在配置文件里面做如下修改: 配置属性 -> C/C++ -> 预处理器 -> 预处理定义,把 “_CONSOLE” 改成 “_WINDOWS”![]() ![]() ![]() ![]() |
CopyRight 2018-2019 实验室设备网 版权所有 |