什么是MFC

MFC,全称Microsoft Foundation Classes,微软基础类库,顾名思义,是微软的攻城狮们将一些常用的基础的Windows API 函数用C++的形式封装成类,简化程序猿的工作,将C++面向对象这一特点很好的表现出来。

用MFC可以用鼠标来编辑界面,管理各种控件,以及简化一些操作如字符串操作、文件操作、时间日期操作、网络操作、Windows系统操作、数据库操作……

既然MFC是类库,那么她必然会用到类的特性:模板类、类的封装继承、虚继承、多态性等等。

然而就我的理解而言,MFC初学者并不需要深度理解这些,只需知道C++有这些东西可以用就好了,至少我现在对C++的这些特性也并不会用,有点尴尬了哈哈哈。

学习MFC

我在学习MFC之前看了《Windows程序设计》,虽然这本书比较老,但溯源的东西嘛,说的都是在没有诞生MFC之前,大神们调用WinAPI函数进行界面开发,从这里,我对Windows的消息响应机制、鼠标键盘消息、Windows窗口、绘图等有了很好的理解,从而使我在初学MFC时很快入门,边玩边学。

接下来我开始建立一个简单的MFC基于对话框的应用程序,我把各种控件拉到对话框中,更改各种属性,看各种效果,那一瞬,我感觉我就是上帝啊!!!

哈哈哈哈,我一直尊崇李纳斯自传的书名:Just For Fun!这让我在学习中收益匪浅。

我一直认为,一定要用所学的去做一些实用性的东西出来,作为一个宅,电脑就是生命啊,让她更好的为我服务才是王道啊,然而我的知识储备是一片空白,所以我开始在网上找各种资料,功夫不负有心人,我找到了一个网站——鸡啄米。有大神做出了MFC学习教程,然而这还远远不够,于是我又找到一种很有效的搜索方法(至少我认为很有效):既然MFC玩的是类,那我就将类的名称写在百度搜索框,果然,词条都是比较专业的解释,我开始喜欢上这种方式,并大量浏览有关博客,其实博客也并不是过时的东西。

然后,我可以着手做一个小软件了!!!

开发平台的选择

我用的是VS2010旗舰版,从大一开始就用这个版本,我也懒得去升级,毕竟只是初级选手,需要学习的是一种编程语言,一种技术,并不是一个软件的操作,关键要提升的还是思维。

而且在鸡啄米的VS2010/MFC编程入门之前言中也有了一些建议。

附件

Windows程序设计第五版

MFC学习笔记1---准备工作的更多相关文章

  1. MFC 学习笔记

    MFC 学习笔记 一.MFC编程基础: 概述: 常用头文件: MFC控制台程序: MFC库程序: 规则库可以被各种程序所调用,扩展库只能被MFC程序调用. MFC窗口程序: 示例: MFC库中类的简介 ...

  2. MFC学习笔记(一)

    个人对MFC技术一直都很感兴趣,因为能够做出漂亮绚丽的界面应该是一件十分有成就感的事情. 学习的参考课本为北京博彦科技发展有限责任公司翻译的Jeff Prosise著的<MFC Windows程 ...

  3. 【MFC学习笔记-作业7-小型画图软件】【】

    作业要求: 按下鼠标右键画圆. 按下鼠标左键移动曲线. 丝毫没有思路..网上教程又比这个程序复杂100倍... 好吧 总算找到一个合适的了... 转载至:http://blog.chinaunix.n ...

  4. MFC学习笔记2---简单计算器

    前言 学习了鸡啄米网页的前三部分后,我们就可以做一个小软件出来了,我选择先做一个计算器. 这是Win7系统自带的计算器: 为了提升成就感,我将计算器的大部分内容去除,于是就变成这样: 这样就只剩下了1 ...

  5. MFC学习笔记

    获取窗口句柄 FindWindow               根据窗口名获取 GetSafehWnd                取你程序所在窗口类的句柄 GetActiveWindow     ...

  6. 孙鑫MFC学习笔记13:文档

    1.CArchive类保存内存数据 2.CAchive类重载了>>与<<操作符,类似C++文件流 3.在OnNewDocument中通过SetTitle设置标题 4.字符串资源 ...

  7. 孙鑫MFC学习笔记12:文件读写

    1.指向常量的指针 2.指针常量 3.C语言对文件操作是在缓冲区,在缓冲区满或文件关闭时写入文件 读取相同 4.fflush刷新缓冲区,使缓冲区数据写入文件 5.fseek改变文件指针偏移量 6.st ...

  8. 孙鑫MFC学习笔记4:MFC画图

    1.画线方法 *1.捕获鼠标按下和弹起消息,获取两个点 *2.消息响应,画线 2.在CMainFrame类中的鼠标左键事件得不到响应的原因是CNameView覆盖了CMainFrame 3.注释宏 4 ...

  9. 孙鑫MFC学习笔记3:MFC程序运行过程

    1.MFC中WinMain函数的位置在APPMODUL.cpp APPMODUL.cpp中是_tWinMain,其实_tWinMain是一个宏#define _tWinMain WinMain 2.全 ...

随机推荐

  1. [CSP-S模拟测试]:简单的括号序列(组合数)

    题目传送门(内部题82) 输入格式 一行一个字符串$ss$,保证$ss$中只包含$'('$和$')'$. 输出格式 一行一个整数,表示满足要求的子序列数对$10^9+7$的结果. 样例 样例输入1: ...

  2. 手动创建Maven项目并建立两个项目之间的依赖关系

    用命令行快速建立maven项目 -> mvn:archetype:generate -> 直接回车或者自己输入你想生成的 -> groupId ->artifactId -&g ...

  3. nginx下的负载均衡

    负载均衡应用场景: 普通web应用部署到多台应用服务器上,客户端通过访问应用服务器发送请求,最简单的就是n对1模式,n个客户端访问同一个应用服务器,这种情况当并发量大了,就无法应对,而且,如果只有一台 ...

  4. phpstorm的下载激活及定制使用和设置

    1.下载地址: 链接:https://pan.baidu.com/s/19PbZnzq0x7grgBge-iHI3w&shfl=sharepset  提取码:dnte 2.激活码获取:http ...

  5. 使用Zabbix通过ILO管理口监控惠普服务器

    https://blog.csdn.net/qq_41571056/article/details/82928542

  6. 如何获得select被选中option的value和text和其他属性值

    比如这个: <select id="select"> <option value="A" url="http://www.baidu ...

  7. 如何解决excel工作簿保护密码

    自己的excel文档设置了“保护工作簿”密码,但是密码又忘记了,怎么办? 如果你会编写代码,那么这个问题非常好解决.Excel内置功能不能解决的事儿,自己编写一段代码或许就可以搞定了. 第一步,大家已 ...

  8. ifram刷新父窗口中内嵌页面

    如果C的iframe标签的id是"iframec",那么在B.aspx中你想刷新的代码处写 parent.document.getElementById('iframec').sr ...

  9. JS中设置cookie,读取cookie,删除cookie

    在开发时,碰到一个需求,需要保存一个表的信息(非隐私),希望下次打开还存在.于是想到用cookie,一番折腾完成.示例数据都是假的,打马赛克是怕泄密. 这个表取名为Data,为Array,每一行是一个 ...

  10. flutter SnackBar异常Another exception was thrown: Scaffold.of() called with a context that does not contain a Scaffold

    代码如下: import 'package:flutter/material.dart'; void main() { runApp(MaterialApp( title: 'Returning Da ...