MFC,多年开发和教学,这门课程,新课改决定将它砍掉,Qt也是我们的趋势,同时在我的Qt系列中详细讲解了Qt的系列教学。MFC虽然很古老,但是还是得佩服微软搞得这套框架,让一代又一代Windows程序员无不熟练在心,犹如武功秘籍葵花宝典、虽然在界面UI这块让人痛心疾首、以及一大堆的宏定义让人摸不着头脑,每次讲课,一些学员就说这是不是Java,不就是VB吗,但是他的开发速度、以及效率、还有编程思想、在Windows开发当中的贡献还是蛮大,从现在形势、微软也慢慢的抛弃MFC。

从这开始我们就进入MFC开发,在读者已经熟练Win32消息机制以及窗口创建原理基础上,我们来拓展。我使用的工具是Visual Studio 2013,尤其很多MFC书籍都是使用VC6.0没办法。

新建一个Win32项目:【更多精彩教程,视频教学、源码分享请加入QQ群:569268376】

接下来选择空项目:

点完成这样工程就建立好了。

接下来添加源文件HelloMFC.cpp:

开始写代码,熟练Win32窗口就知道:

#include<Windows.h>
intWINAPIWinMain(HINSTANCEhInstance, HINSTANCEhPreInstance, LPSTRlpCmdLine, intnCmdShow)
{return 0;
}

但是,MFC内部已经帮你封装好了,不需要你去实现WinMain函数了。首先包含MFC非常核心的头文件afxwin.h,三部曲就这样来了:

(1)、添加CWinApp的派生类CHelloMFCApp

(2)、添加CWinApp的派生类CHelloMFCApp类的全局对象theApp

(3)、重载虚函数InitInstance,执行你的操作,弹一个经典"Hello World";

代码如下:

#include<afxwin.h>
classCHellMFCApp : publicCWinApp
{
public:virtualBOOLInitInstance(){更多精彩教程,视频教学、源码分享请加入QQ群:569268376AfxMessageBox(L"HelloWorld");returnTRUE;}
};
CHellMFCApp theApp;

注意这里面的InitInstance就相当于平时写的C/C++里面的main函数,所有的代码都从这里开始,当然这句话并不完全对,但是可以先这么理解。因为MFC内部已经帮你做好了封装,还包括全局变量theApp的构造等等都在他之前。

编译一下,发现有错误:

这个问题很好解决,说明新建的项目是Win32窗口应用,既然使用MFC那就要修改属性:

把“使用标准的Windows库”改为“在共享DLL中使用MFC” 或“在静态库中使用MFC”。在编译一下生成,好这个时候大功告成,第一个MFC应用程序:HelloWorld出来了。

更多精彩教程,源码分享请加入QQ群:569268376

MFC系列 - 第一个MFC入门程序相关推荐

  1. 一个DirectDraw入门程序

    只要是介绍编程的书,似乎有一个不成文的规定,即第一个例子由"Hello World"开始,本教程也不例外.那么,如果你早已迫不及待想初尝DirectDraw程序编译成功后的&quo ...

  2. 手把手做一个JSP入门程序(一):程序基本介绍(JSP)

    胡扯   说好的不学jsp,结果今天还是学了.主要还是为了后面的java后台的学习啦.为了更好的掌握知识,那我们就来写一个简单的jsp入门程序吧!这只是一个简单的入门小程序,所以就没有太多强大的功能. ...

  3. 手把手做一个JSP入门程序(二):创建一个项目(JSP)

    创建一个项目 我们使用Eclipse和Web服务器的Tomcat进行开发.Eclipse我们需要用"Eclipse IDE for Java EE Developers"(Ecli ...

  4. 第一个SpringMVC入门程序

    一.写在前面 1.SpringMVC处理流程 二.创建工程 1.在Eclipse下新建Dynanic Web Project 2.输入工程名springmvctest,选择module version ...

  5. 手把手做一个JSP入门程序(九):购物车的基本实现(Servlet)

    购物车类及购物车DAO 购物车   该类也是一个JavaBean,除了普通Getter和Setter,这里还实现了一个获取单种书籍的总费用的方法.我们利用一个以书本对象为Key,以相应书本数量为val ...

  6. SpringBoot简介、SpringBoot 入门程序搭建、与JDBC、Druid、Mybatis和SpringData JPA的整合

    一.SpringBoot 简介: spring boot并不是一个全新的框架,它不是spring解决方案的一个替代品,而是spring的一个封装.所以,你以前可以用spring做的事情,现在用spri ...

  7. 新手小白用记事本编写Java入门程序需要注意的常见问题

    Java入门程序-常见问题 1.文件扩展名是否打开 对新手小白来说,文件扩展名是经常容易忘记的.在我们用记事本编写一个好入门程序,然后保存的时侯,需要修改文件的格式为.java,但是如果没有打开文件的 ...

  8. Spring入门程序的编写(实验一+第一章知识总结)

    这是一个Spring入门程序: main()方法中并没有通过New关键字来创建UserDao接口的实现类对象,而是通过Spring容器来获取实现类对象,这就是Spring IoC容器 的工作机制. 它 ...

  9. 【吕鑫MFC学习】一个简单的MFC程序

    开始学习MFC的第一天,实现一个简单的整数计算器用来说明MFC程序的基本流程. 平台:Visual Studio2015 实现的界面: 首先,新建一个MFC应用程序 这里简单说明控制台应用程序.MFC ...

最新文章

  1. 《JavaScript高级程序设计》阅读笔记(二十一):JavaScript中的XML
  2. step by step设置postgresql用户密码并配置远程连接
  3. Python 技术篇-将python项目打包成exe独立运行程序,pyinstaller库打包python代码实例演示
  4. 浏览器左上角的小图标怎么整不掉_Honeyview:蜂蜜浏览器
  5. android访问百度新闻,百度新闻(com.baidu.news) - 8.3.6.0 - 应用 - 酷安
  6. 一体化住户调查_曲麻莱县2020年城乡一体化住户调查表彰会暨年报部署会
  7. Expression Atlas
  8. mysql修改binlog 位置_查看mysql 的binlog日志存放的位置(转)
  9. 1003 我要通过! (20 分)—PAT (Basic Level) Practice (中文)
  10. Web基础(Java前端基础)
  11. MYSQL建表操作大全
  12. 无人机水平方向四环串级控制,竖直方向三环串级控制(2020.6.30备份)
  13. Android 手机如何改造成 Linux 服务器?
  14. Realtek 1296 (RTD1296) OpenWRT Android 双系统全功能开发板
  15. 个人邮箱怎么注册,商业人士用哪个邮箱最好?
  16. 技术负责人如何搞定老板之我所见
  17. 【项目】在线教育平台项目总结
  18. 适用于 Android 初学者的 Dagger 2 - DI 第一部分
  19. x201换风扇_x201i拆机风扇清理怎么办【图文】
  20. 单机版(新手教学)理发店管理系统

热门文章

  1. jbpm3\jbpm4_在jBPM中支持高级用户交互模式
  2. python对list列表进行排序方法总结
  3. JAVA 开发中常用的工具有哪些?
  4. PG使用pg_settings表查看参数的生效条件
  5. linux 开放5222端口,XMPP协议、IM、客户端互联详解
  6. python 实现多核 CPU 并行计算
  7. 齐鲁工业大学计算机科学与技术学院院长,齐鲁工业大学计算机科学与技术学院导师教师师资介绍简介-翟翌...
  8. Intent传递数据的方法
  9. 行车路线(改)(图的应用)
  10. ubuntu(linux)打开jnlp文件