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程序的创建的更多相关文章

  1. Cesium入门2 - Cesium环境搭建及第一个示例程序

    Cesium入门2 - Cesium环境搭建及第一个示例程序 Cesium中文网:http://cesiumcn.org/ | 国内快速访问:http://cesium.coinidea.com/ 验 ...

  2. ArcGIS API for JavaScript开发环境搭建及第一个实例demo

    原文:ArcGIS API for JavaScript开发环境搭建及第一个实例demo ESRI公司截止到目前已经发布了最新的ArcGIS Server for JavaScript API v3. ...

  3. scala 入门Eclipse环境搭建及第一个入门经典程序HelloWorld

    scala 入门Eclipse环境搭建及第一个入门经典程序HelloWorld 学习了: http://blog.csdn.net/wangmuming/article/details/3407911 ...

  4. Vue环境搭建及第一个helloWorld

    Vue环境搭建及第一个helloWorld 一.环境搭建 1.node.js环境安装配置  https://www.cnblogs.com/liuqiyun/p/8133904.html 或者 htt ...

  5. 使用IDEA写Python之pytest环境搭建及第一个程序编写

    一.准备篇 Python环境:3.8.3 开发工具:IDEA,对你没有看错 二.IDEA下安装开发环境 1. python的下载 https://www.python.org/downloads/ P ...

  6. SpringBoot环境搭建及第一个程序运行(详细!)

    spring boot简介 spring boot框架抛弃了繁琐的xml配置过程,采用大量的默认配置简化我们的开发过程. 所以采用Spring boot可以非常容易和快速地创建基于Spring 框架的 ...

  7. FFmpeg 开发环境搭建及第一个程序 Hello FFmpeg 编写

    1. FFmpeg 的安装 ./configure make make install 默认会将 FFmpeg 安装至 /usr/local 目录下(可通过 configure 使用 "-p ...

  8. go语言开发环境安装及第一个go程序

    下载Go语言开发包 大家可以在Go语言官网(https://golang.google.cn/dl/)下载 Windows 系统下的Go语言开发包,如下图所示. 安装Go语言开发包 双击我们下载好的G ...

  9. android 串口开发第一篇:搭建ndk开发环境以及第一个jni调用程序

    一:ndk环境搭建 1:开发环境 我使用的是android studio 2.3.3版本,搭建ndk开发环境比较简单,打开File----Settings----Appearance&Beha ...

随机推荐

  1. python导包路径的修改

    1.sys os 模块 import sys import os 2.查看默认的导包路路径: print(sys.path) 3.路径拼接 os.path.join(url, 'apps')) 4.追 ...

  2. Redis使用及工具类

    原地址:https://www.cnblogs.com/wyy123/p/6078593.html [学会安装redis] 从redis.io下载最新版redis-X.Y.Z.tar.gz后解压,然后 ...

  3. 移动端UL列表无法平滑向下滚动问题

    问题说明: 移动端向上滑动后,,列表无法自动滚动到底部~~而是类似屏幕"沾手"的效果(手离开屏幕直接停止在当前~列表不会自动向下滚动一段) 问题原因: 页面中存在如下代码: 当前页 ...

  4. Java语法 [开发环境搭建]

    自行百度. https://www.baidu.com 自行必应 https://cn.bing.com

  5. Codeforces Round #437 E. Buy Low Sell High

    题意:买卖股票,给你n个数,你可以选择买进或者卖出或者什么都不做,问你最后获得的最大收益是多少. Examples Input 910 5 4 7 9 12 6 2 10 Output 20 Inpu ...

  6. EasyUI DataGrid设置列宽为百分比导致表头和内容错位的解决方法

    在DataGrid中设置列宽为百分比一般是没有问题的 columns: [[{ title: '内容', field: '__EMPTY', width: '40%' }, { title: '隐患级 ...

  7. elasticsearch数据结构

    无论是关系型数据库还是非关系型数据库,乃至elasticsearch这种事实上承担着一定储存作用的搜索引擎,数据类型都是非常重要而基础的概念.本文基于elasticsearch 5.x版本. 核心数据 ...

  8. python爬虫小说代码,可用的

    python爬虫小说代码,可用的,以笔趣阁为例子,python3.6以上,可用 作者的QQ:342290433,汉唐自远工程师 import requests import refrom lxml i ...

  9. 【转】GT 的性能测试方案解析

    前言 本文将整理腾讯GT各个性能测试项的测试方法,目的是为了帮助移动性能专项测试同学快速过一遍腾讯GT各个性能数据是如何获取的.另外对腾讯GT还不了解或者不知道它能做什么的同学可以看看这篇文章:htt ...

  10. 365. Water and Jug Problem量杯灌水问题

    [抄题]: 简而言之:只能对 杯子中全部的水/容量-杯子中全部的水进行操作 You are given two jugs with capacities x and y litres. There i ...