MFC系列 - 第一个MFC入门程序
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入门程序相关推荐
- 一个DirectDraw入门程序
只要是介绍编程的书,似乎有一个不成文的规定,即第一个例子由"Hello World"开始,本教程也不例外.那么,如果你早已迫不及待想初尝DirectDraw程序编译成功后的&quo ...
- 手把手做一个JSP入门程序(一):程序基本介绍(JSP)
胡扯 说好的不学jsp,结果今天还是学了.主要还是为了后面的java后台的学习啦.为了更好的掌握知识,那我们就来写一个简单的jsp入门程序吧!这只是一个简单的入门小程序,所以就没有太多强大的功能. ...
- 手把手做一个JSP入门程序(二):创建一个项目(JSP)
创建一个项目 我们使用Eclipse和Web服务器的Tomcat进行开发.Eclipse我们需要用"Eclipse IDE for Java EE Developers"(Ecli ...
- 第一个SpringMVC入门程序
一.写在前面 1.SpringMVC处理流程 二.创建工程 1.在Eclipse下新建Dynanic Web Project 2.输入工程名springmvctest,选择module version ...
- 手把手做一个JSP入门程序(九):购物车的基本实现(Servlet)
购物车类及购物车DAO 购物车 该类也是一个JavaBean,除了普通Getter和Setter,这里还实现了一个获取单种书籍的总费用的方法.我们利用一个以书本对象为Key,以相应书本数量为val ...
- SpringBoot简介、SpringBoot 入门程序搭建、与JDBC、Druid、Mybatis和SpringData JPA的整合
一.SpringBoot 简介: spring boot并不是一个全新的框架,它不是spring解决方案的一个替代品,而是spring的一个封装.所以,你以前可以用spring做的事情,现在用spri ...
- 新手小白用记事本编写Java入门程序需要注意的常见问题
Java入门程序-常见问题 1.文件扩展名是否打开 对新手小白来说,文件扩展名是经常容易忘记的.在我们用记事本编写一个好入门程序,然后保存的时侯,需要修改文件的格式为.java,但是如果没有打开文件的 ...
- Spring入门程序的编写(实验一+第一章知识总结)
这是一个Spring入门程序: main()方法中并没有通过New关键字来创建UserDao接口的实现类对象,而是通过Spring容器来获取实现类对象,这就是Spring IoC容器 的工作机制. 它 ...
- 【吕鑫MFC学习】一个简单的MFC程序
开始学习MFC的第一天,实现一个简单的整数计算器用来说明MFC程序的基本流程. 平台:Visual Studio2015 实现的界面: 首先,新建一个MFC应用程序 这里简单说明控制台应用程序.MFC ...
最新文章
- 《JavaScript高级程序设计》阅读笔记(二十一):JavaScript中的XML
- step by step设置postgresql用户密码并配置远程连接
- Python 技术篇-将python项目打包成exe独立运行程序,pyinstaller库打包python代码实例演示
- 浏览器左上角的小图标怎么整不掉_Honeyview:蜂蜜浏览器
- android访问百度新闻,百度新闻(com.baidu.news) - 8.3.6.0 - 应用 - 酷安
- 一体化住户调查_曲麻莱县2020年城乡一体化住户调查表彰会暨年报部署会
- Expression Atlas
- mysql修改binlog 位置_查看mysql 的binlog日志存放的位置(转)
- 1003 我要通过! (20 分)—PAT (Basic Level) Practice (中文)
- Web基础(Java前端基础)
- MYSQL建表操作大全
- 无人机水平方向四环串级控制,竖直方向三环串级控制(2020.6.30备份)
- Android 手机如何改造成 Linux 服务器?
- Realtek 1296 (RTD1296) OpenWRT Android 双系统全功能开发板
- 个人邮箱怎么注册,商业人士用哪个邮箱最好?
- 技术负责人如何搞定老板之我所见
- 【项目】在线教育平台项目总结
- 适用于 Android 初学者的 Dagger 2 - DI 第一部分
- x201换风扇_x201i拆机风扇清理怎么办【图文】
- 单机版(新手教学)理发店管理系统
热门文章
- jbpm3\jbpm4_在jBPM中支持高级用户交互模式
- python对list列表进行排序方法总结
- JAVA 开发中常用的工具有哪些?
- PG使用pg_settings表查看参数的生效条件
- linux 开放5222端口,XMPP协议、IM、客户端互联详解
- python 实现多核 CPU 并行计算
- 齐鲁工业大学计算机科学与技术学院院长,齐鲁工业大学计算机科学与技术学院导师教师师资介绍简介-翟翌...
- Intent传递数据的方法
- 行车路线(改)(图的应用)
- ubuntu(linux)打开jnlp文件