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. Spring MVC Controller异常处理总结

    在项目开发过程中,经常遇到服务被攻击的情况,虽然接口在设计过程中有相当多的安全措施,例如cookie校验.风控.访问熔断等相关技术保证服务的安全性,不过感觉还是有必要收集分析一下这些攻击请求者,以备为 ...

  2. <记录> curl 封装函数

    1. POST请求 参数1 : 请求地址 参数2 : 数组形式的参数 /** * @param string $url post请求地址 * @param array $params * @retur ...

  3. linux下启动tomcat服务

     Linux下tomcat服务的启动.关闭与错误跟踪,使用PuTTy远程连接到服务器以后,通常通过以下几种方式启动关闭tomcat服务:切换到tomcat主目录下的bin目录(cd usr/local ...

  4. java应用健康检查

    本文主要针对自己手写shell监控应用状态,有可系统解决方案的,比如K8S,可以略过 #!/bin/sh#health_check.sh count=`ps -ef | grep test.jar | ...

  5. 吴裕雄 python深度学习与实践(15)

    import tensorflow as tf import tensorflow.examples.tutorials.mnist.input_data as input_data mnist = ...

  6. Linux下常用系统分析工具总结(转)

    1.1 top top命令可以实时动态地查看系统的整体运行情况,是一个综合了多方信息监测系统性能和运行信息的实用工具. Top常用的可选参数和其对应的含义如下: (1)-c:显示完整的命令: (2)- ...

  7. k8s之配置flanneld网络

    Flannel是Overlay网络的一种,也是将源数据包封装在另一种网络包里面进行路由转发和通信,目前已经支持UDP.VXLAN.AWS VPC和GCE路由等数据转发方式. Flannel通过给每台宿 ...

  8. TZOJ 5101 A Game(区间DP)

    描述 Consider the following two-player game played with a sequence of N positive integers (2 <= N & ...

  9. [Java学习]多线程

    关于多进程与多线程 使用多进程的目的:提高CPU利用率. 使用多线程的目的:提高应用程序?利用率. 多线程与多进程区别:进程间内存独立:同一个进程的线程间共享"堆内存和方法区内存" ...

  10. node.js中 express + multer 处理文件上传

    multer中间件,可以很方便的结合express处理用户表单上传的文件. 一.安装multer npm install multer 二.处理单个文件上传 const express = requi ...