文章目录
一、实现简单的MFC窗口创建
1.MFC应用程序创建
打开Virtual Studio 2017后,点击创建新项目,然后在搜索框中输入MFC,接着选择MFC应用,选择完成后,点击下一步,配置新项目
对MFC应用程序类型的选择,根据自己的需求选择,选择多个文档
点击完成,一个基于MFC的对话框类型的程序就创建完成
点击 “解决方案” 中的 “源文件”,只需保留 stdafx.cpp 把其他的源文件删掉,添加mfc.cpp
输入代码
#include "stdafx.h" // 引入MFC的库
// 继承了CFrameWnd的子类CFristMFC,主要实现了Window窗口
class CFristMFC : public CFrameWnd
{
public:
CFristMFC()
{
Create(NULL, _T("First MFCApplication"), WS_OVERLAPPEDWINDOW, rectDefault);
}
};
// 继承了CWinApp 的子类 CMFCApp,主要实现应用程序。
class CMFCApp : public CWinApp
{
public:
//虚函数 InitInstance,作为程序的入口。
virtual BOOL InitInstance();
};
BOOL CMFCApp::InitInstance()
{
m_pMainWnd = new CFristMFC();
//设置窗体的大小
m_pMainWnd->MoveWindow(500, 300, 640, 480, FALSE);
//固定窗体的大小
SetWindowLong(m_pMainWnd->m_hWnd, GWL_STYLE, WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU);
//显示窗体
m_pMainWnd->ShowWindow(m_nCmdShow);
//获得窗口的绘图区
CDC* dc = m_pMainWnd->GetDC();
//设置背景颜色
dc->FillSolidRect(0, 0, 640, 480, RGB(0, 200, 255));
//写上一句话
dc->TextOutW(20, 20, _T("我爱你中国"));
//更新窗体
m_pMainWnd->UpdateWindow();
return TRUE;
}
// 实例化CHellowApp类的对象 FristMFCApp。
CMFCApp FristMFCApp;
运行之后
二、采用命令工具cl.exe,linker.exe实现编译链接
1.命令行工具cl.exe,linker.exe编译链接一个Window API程序
先在电脑文件搜索找到 cl.exe 文件的路径,每个人都不一样。
D:\VS\VC\Tools\MSVC\14.16.27023\bin\Hostx64\x86
然后进入控制面板,点击高级系统设置,点击 环境变量(N)
在 用户变量下,选中Path后,点击编辑 ,将之前我们找到的cl.exe复制下来,然后新建,复制地址,再点击确定
然后
在在系统变量中新建 INCLUDE 环境变量,添加如下内容:
找到 WindowsProject1.c 所在目录,然后在上面地址栏输入 cmd 进入命令行窗口
然后就出现以下错误
这里花了很久的时间,网上这方面的例子比较少,找了很久。需要C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE
把:msobj140.dll, mspdb140.dll, mspdbcore.dll, mspdbsrv.exe四个文件复制到:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\bin\Hostx86\x64
解决问题后,使用cl编译,再使用link链接obj文件得到exe文件,执行得到WindowAPI 的窗口程序
2.命令行工具cl.exe,linker.exe编译链接一个MFC程序
跟上面命令行工具cl.exe,linker.exe编译链接一个Window API程序的步骤基本一样,如图展示