visual2017专业版MFC编程环境搭建及第一个MFC程序的创建
1、MFC介绍及环境搭建
MFC全程为Microsoft Foundation class Library,即微软的基本类库,MFC实际上是一个庞大的文件库,它由指向文件和源文件组成。
首先,打开visual2017,进行如下操作:

此时,会发现新建项目中无法找到创建MFC工程

这是因为没有配置MFC开发环境,关闭visual studio打开visual studio installer

选择修改,可以打开如下窗口

勾选后,点击修改,此时就进入了安装界面,这里需要等待15分钟左右

2、利用向导生成MFC应用程序
修改完成后,点击启动,新建项目可以看到MFC已经添加到了visual studio了

点进MFC后,选择文件路径,创建项目名文件名后点击确定 既可以进入MFC应用程序的类型配置界面

应用程序类型:
单文件:为应用程序创建一个单文档界面(SDI)结构。在此类应用程序中,文档的框架窗只能容纳一个文档。
多文件:为应用程序创建一个多文档界面(MDI)结构。在此类应用程序中,文档的框架窗可以容纳多个文档。
选项卡式文档:将每个文档放置到单独的选项卡上。
基于对话框:为应用程序创建一个基于对话框的结构。
使用HTML对话框:只适用与对话框应用程序。从CDHtmlDialogClass(而不是CDialogClass)派生对话框类。
多个顶级文档:为应用程序创建一个多顶级结构。在此类应用程序中,当单击【文件】菜单上的【新建】时。应用程序会创建一个其父窗口隐式为桌面的窗口。新的文档框架会显示在任务栏中,并且不局限于应用程序窗口的工作区。




然后单击【生成】->【生成解决方案】

单击【调试】->【开始执行】

运行完成后

打开项目所在文件夹->Debug文件夹,可以看到生成的.exe文件

双击.exe文件可以看到运行结果。

3、项目的文件组织
1、解决方案和项目文件
通过调试后,解决方案的文件夹下包含:.sdf文件、.sln文件、.suo文件和.ipch文件夹。.sdf文件和ipch文件夹与智能提示、代码恢复、团队本地仓库等有关。.sln文件和.suo文件为MFC自动生成解决方案文件,它们包含当前解决方案中的项目信息,存储解决方案的设置。
项目相关文件包括项目文件夹下的.vcxproj文件和.vcxproj.filters文件。.vcxproj文件是MFC生成的项目文件,包含当前项目的设置和项目所包含的文件等信息。.vcxproj .filters文件存放项目的虚拟目录信息,也就是在解决方案浏览器中的目录结构信息,如图所示:

2、应用程序源文件和头文件
应用程序向导会根据应用程序的类型(单文档、多文档或基于对话框的程序)自动生成一些头文件和源文件。如图所示。

3、资源文件
一般使用MFC生成程序都会有对话框、图标、菜单等资源,应用程序向导会生成资源相关文件:res目录、*.rc文件和Resource文件。
res目录:项目文件夹下的res文件夹中含有应用程序默认图标、工具栏使用的图标等图标文件。
*.rc:包含默认菜单定义、字符串表和加速键表,指定了默认的About对话框和应用程序默认图标文件等。
Resource.h:含有各种资源的ID定义。
4、利用向导生成基于对话框的应用程序




运行结果如下:

visual2017专业版MFC编程环境搭建及第一个MFC程序的创建的更多相关文章
- Cesium入门2 - Cesium环境搭建及第一个示例程序
Cesium入门2 - Cesium环境搭建及第一个示例程序 Cesium中文网:http://cesiumcn.org/ | 国内快速访问:http://cesium.coinidea.com/ 验 ...
- ArcGIS API for JavaScript开发环境搭建及第一个实例demo
原文:ArcGIS API for JavaScript开发环境搭建及第一个实例demo ESRI公司截止到目前已经发布了最新的ArcGIS Server for JavaScript API v3. ...
- scala 入门Eclipse环境搭建及第一个入门经典程序HelloWorld
scala 入门Eclipse环境搭建及第一个入门经典程序HelloWorld 学习了: http://blog.csdn.net/wangmuming/article/details/3407911 ...
- Vue环境搭建及第一个helloWorld
Vue环境搭建及第一个helloWorld 一.环境搭建 1.node.js环境安装配置 https://www.cnblogs.com/liuqiyun/p/8133904.html 或者 htt ...
- 使用IDEA写Python之pytest环境搭建及第一个程序编写
一.准备篇 Python环境:3.8.3 开发工具:IDEA,对你没有看错 二.IDEA下安装开发环境 1. python的下载 https://www.python.org/downloads/ P ...
- SpringBoot环境搭建及第一个程序运行(详细!)
spring boot简介 spring boot框架抛弃了繁琐的xml配置过程,采用大量的默认配置简化我们的开发过程. 所以采用Spring boot可以非常容易和快速地创建基于Spring 框架的 ...
- FFmpeg 开发环境搭建及第一个程序 Hello FFmpeg 编写
1. FFmpeg 的安装 ./configure make make install 默认会将 FFmpeg 安装至 /usr/local 目录下(可通过 configure 使用 "-p ...
- go语言开发环境安装及第一个go程序
下载Go语言开发包 大家可以在Go语言官网(https://golang.google.cn/dl/)下载 Windows 系统下的Go语言开发包,如下图所示. 安装Go语言开发包 双击我们下载好的G ...
- android 串口开发第一篇:搭建ndk开发环境以及第一个jni调用程序
一:ndk环境搭建 1:开发环境 我使用的是android studio 2.3.3版本,搭建ndk开发环境比较简单,打开File----Settings----Appearance&Beha ...
随机推荐
- exchang2010OWA主界面添加修改密码选项
原文链接:http://www.mamicode.com/info-detail-1444660.html exchange邮箱用户可以登录OWA修改密码,当AD用户密码过期或者重置密码勾选了“用户下 ...
- background-position,有逗号和没逗号:截然不同的结果
写星级评分demo的时候,发现background-position这个属性有点神奇 如上图,在其值中加“,”与不加“,”会带来截然不同的结果,来研究一哈,顺便把这个属性复习一下 1.backgrou ...
- leetcode101
/** * Definition for a binary tree node. * public class TreeNode { * public int val; * public TreeNo ...
- leetcode207
拓扑排序问题. class Solution { public: bool canFinish(int numCourses, vector<pair<int, int>>&a ...
- C语音秋季学习总结
我对下个学期的期望就是明确自己的目标,能在下学期中学习更多的知识
- Java Bug -- java.util.ConcurrentModificationException
java.util.ConcurrentModificationException at java.util.ArrayList$ArrayListIterator.next(ArrayList.ja ...
- HTTPS数据传输过程简介
HTTPS数据传输过程 1.客户端发起HTTPS连接握手 2.服务端收到HTTPS握手连接请求,与客户建立握手过程,和TCP的三次握手类似,并发送一系列的加密算法组合给客户端,与客户端协商加密算法组合 ...
- linux文本格式转换
问题:在linux环境下面执行SH的可执行文件. -bash: ./start.sh: /bin/sh^M: bad interpreter: No such file or directory 解决 ...
- python数据类型分类
python数据分为可变类型和不可变类型,其中:可变类型:列表,字典不可变类型:布尔值,数字,字符串,元组 specidal:集合作为set是可变的,而作为frozenset是不可变集合 可变类型和不 ...
- 搭建React项目(一):在网页中使用
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...