什么是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. GIT的工作原理和基本命令

    1.GIT的工作原理 工作区:我们写代码的地方. 暂存区:临时存储用的. 历史区:生成历史版本的地方. 提交流程:工作区->暂存区->历史区 图示: 2.GIT的全局配置 3.创建仓库完成 ...

  2. 从头开始学习Vuex

    一.前言 当我们的应用遇到多个组件共享状态时,会需要多个组件依赖于同一状态抑或是来自不同视图的行为需要变更同一状态.以前的解决办法: a.将数据以及操作数据的行为都定义在父组件; b.将数据以及操作数 ...

  3. java第二周小结

    这是接触Java的第一周,了解这个语言的一些基础知识,下面是对这段时间重要知识点的汇总 一.Java是一种面向对象的语言    特点为:简洁高效.可移植性.适合分布式计算.健壮防患于未然的特性.多线程 ...

  4. legend3---阿里云如何多个域名指向同一个网站

    legend3---阿里云如何多个域名指向同一个网站 一.总结 一句话总结: 先寻求资料及文档,没有找到的话自己摸索一下就好 结论:多个域名都需要备案 二.阿里云如何多个域名指向同一个网站 当前情况 ...

  5. webpack插件之htmlWebpackPlugin

    webpack插件之htmlWebpackPlugin webpack插件 自动化 htmlWebpackPlugin  由于webpack已经帮我们处理好js之间的依赖关系,现在我们可以忽略js的加 ...

  6. leetcode-mid-sorting and searching -347. Top K Frequent Elements

    mycode   71.43% class Solution(object): def topKFrequent(self, nums, k): """ :type nu ...

  7. 搜索练习题——FBI树

    目录: ·题目描述 ·知识拓展 ·题目分析 ·思路分析 ·代码实现 ·总结 ·题目描述: (洛谷P1087 FBI树) 我们可以把由“0”和“1”组成的字符串分为三类:全“0”串称为B串,全“1”串称 ...

  8. ubuntu通过windows下的ccproxy代理上网

    网上教程很多,需要注意的是将ubuntu的ip和windows的Ip设置到同一个网段,即子网掩码是1的对应的部分要相同.由于没有配置到同一个网段,折腾了我好久.

  9. 性能测试工具之WebBench

    一.简介 WebBench是一款在Linux下使用非常简单的压力测试工具.它的原理是:WebBench首先fork出多个子进程,每个子进程都循环做web访问测试.子进程把访问的结果通过pipe告诉父进 ...

  10. golang 标准库 sync.Map 中 nil 和 expunge 区别

    本文不是 sync.Map 源码详细解读,而是聚焦 entry 的不同状态,特别是 nil 状态和 expunge 状态的区分. entry 是 sync.Map 存放值的结构体,其值有三种,分别为 ...