什么是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. vue-router(转)——基本使用 + 路由守卫无限循环问题

    路由守卫无限循环问题 https://www.jianshu.com/p/1187f8f74a72 学习目的 学习Vue的必备技能,必须 熟练使用 Vue-router,能够在实际项目中运用. Vue ...

  2. linux-解决添加的网卡无法识别的问题(转载)

    添加网卡之后,网卡无法被正确的识别和使用排错方法查看/etc/udev/rules.d/70-persistent-net.rules的内容,该文件中可以查看到新添加的网卡的MAC地址修改/etc/s ...

  3. Oracle JET 单页面应用程序Router 使用(上)

    单页面应用程序:使用一个进加载一次的网页,如果页面由于用户的交互而改变,则仅绘制更改的页面部分. 要创建单页面应用程序需要使用 oj.Router 的虚拟导航来支持,ojModule 用来响应页面的重 ...

  4. zabbix 内网监控云服务器

    今天 搞监控碰到了一个问题就是.内网机器搭建的zabbix服务器去监控云服务器agent的时候,agent 需要写服务端的IP地址. 我的思路是内网服务器映射自己公网IP地址的zabbix的端口100 ...

  5. 基于EasyHook实现监控explorer资源管理器文件复制、删除、剪切等操作

    一.前言 最近自己在研究一个项目,需要实现对explorer资源管理器文件操作的监控功能,网上找到一些通过C++实现Hook explorer文件操作的方法,由于本人习惯用.NET开发程序,加之C/C ...

  6. docker中 devicemapper驱动挂载容器镜像文件

    详解docker中容器devicemapper设备的挂载流程

  7. ubuntu16.04 卸载及安装MySQL

    以MySQL- 5.7.18为例: sudo apt-get autoremove --purge mysql-server-5.7 #sudo apt-get remove mysql-server ...

  8. C# 导出Excel文件 所导出文件打开时提示“Excel文件格式与扩展名指定格式不一致”

    Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application(); ...

  9. Matlab与C++混合编程 1--在C++中调用自己写的matlab函数

    在Visual Studio中使用C++中调用MATLAB程序 在matlab中可以通过mbuild工具将.m文件编译成dll文件供外部的C++程序调用,这样就可以实现matlab和C++混合编程的目 ...

  10. linux/linux学习笔记-常用命令(mooc)

    一.命令基本格式及文件处理命令 1.linux命令格式 简化选项用-表示,完整选项用--表示 注:linux通过权限位第1位(-:文件 / d:目录 / l:链接文件 来区分文件类型) 2.linux ...