MFC学习笔记1---准备工作
什么是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编程入门之前言中也有了一些建议。
附件
MFC学习笔记1---准备工作的更多相关文章
- MFC 学习笔记
MFC 学习笔记 一.MFC编程基础: 概述: 常用头文件: MFC控制台程序: MFC库程序: 规则库可以被各种程序所调用,扩展库只能被MFC程序调用. MFC窗口程序: 示例: MFC库中类的简介 ...
- MFC学习笔记(一)
个人对MFC技术一直都很感兴趣,因为能够做出漂亮绚丽的界面应该是一件十分有成就感的事情. 学习的参考课本为北京博彦科技发展有限责任公司翻译的Jeff Prosise著的<MFC Windows程 ...
- 【MFC学习笔记-作业7-小型画图软件】【】
作业要求: 按下鼠标右键画圆. 按下鼠标左键移动曲线. 丝毫没有思路..网上教程又比这个程序复杂100倍... 好吧 总算找到一个合适的了... 转载至:http://blog.chinaunix.n ...
- MFC学习笔记2---简单计算器
前言 学习了鸡啄米网页的前三部分后,我们就可以做一个小软件出来了,我选择先做一个计算器. 这是Win7系统自带的计算器: 为了提升成就感,我将计算器的大部分内容去除,于是就变成这样: 这样就只剩下了1 ...
- MFC学习笔记
获取窗口句柄 FindWindow 根据窗口名获取 GetSafehWnd 取你程序所在窗口类的句柄 GetActiveWindow ...
- 孙鑫MFC学习笔记13:文档
1.CArchive类保存内存数据 2.CAchive类重载了>>与<<操作符,类似C++文件流 3.在OnNewDocument中通过SetTitle设置标题 4.字符串资源 ...
- 孙鑫MFC学习笔记12:文件读写
1.指向常量的指针 2.指针常量 3.C语言对文件操作是在缓冲区,在缓冲区满或文件关闭时写入文件 读取相同 4.fflush刷新缓冲区,使缓冲区数据写入文件 5.fseek改变文件指针偏移量 6.st ...
- 孙鑫MFC学习笔记4:MFC画图
1.画线方法 *1.捕获鼠标按下和弹起消息,获取两个点 *2.消息响应,画线 2.在CMainFrame类中的鼠标左键事件得不到响应的原因是CNameView覆盖了CMainFrame 3.注释宏 4 ...
- 孙鑫MFC学习笔记3:MFC程序运行过程
1.MFC中WinMain函数的位置在APPMODUL.cpp APPMODUL.cpp中是_tWinMain,其实_tWinMain是一个宏#define _tWinMain WinMain 2.全 ...
随机推荐
- linux命令之查找find &grep
区别:find找目录下的文件:find+目录路径+条件表达式,grep找文件中的行:grep+匹配正则表达式+文件名 find命令 find命令的一般形式 find命令的常用选项及实例 find与xa ...
- docker 容器不能联网
Unknown Endpoint: Inaccessible host: `dynamodb.us-east-1.amazonaws.com' 别慌!Docker容器内不能联网的6种解决方案 注:下面 ...
- 一致性hash算法Consistent Hashing
一致性hash算法Consistent Hashing 对于原有hash算法hash%n so... 1.话不多说直接上代码,原理或详解自行百度即可 import cn.pheker.utils.Ut ...
- ffmpeg摄像头推流
ffmpeg -f dshow -i video="Integrated Camera" -vcodec libx264 -preset:v ultrafast -tune:v z ...
- ssm+ajax异步请求返回list遍历
jsp页面 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEnc ...
- 阶段3 1.Mybatis_12.Mybatis注解开发_6 mybatis注解开发一对一的查询配置
新建Account实体类 生成getter和setter还有toString方法 先创建dao类 全局的配置,这里要改成package 创建多对一的关系 在查询的时候输出user这个对象的内容 建立查 ...
- 阶段3 1.Mybatis_04.自定义Mybatis框架基于注解开发_2 回顾自定义mybatis的流程分析
- Jmeter之检查点
检查点 Jmeter中检查点也叫断言,Jmeter中有很多类型的断言,但是最常用的是响应断言,即根据服务器返回的结果来判断测试是否通过. 响应断言 添加断言结果用于运行完毕后查看结果 测试通过 测试不 ...
- com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'jeewx.weixin_account_user_relation' doesn't exist
[INFO] Scanning for projects...[INFO] [INFO] ------------------------------------------------------- ...
- springmvc中获取request对象,加载biz(service)的方法
获取request对象: 首先配置web.xml文件--> <listener> <listener-class> org.springframework.web.con ...