什么是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. 值不能为空。参数名viewinfo(microsoft.sqlserver.management.sqlstudio.explorer)

    打开MSSQL 2008 R2的时候,展开数据库都显示以下的错误提示: 值不能为空.参数名viewinfo(microsoft.sqlserver.management.sqlstudio.explo ...

  2. sqli-lab(14)

    POST型的 双注入 0X01随便测试一下 在password输入"会报错  "#就不报错了 那么应该是“”的闭合 但是没有回显的值 只有报错的信息 那我们是不是该考虑从报错的语句 ...

  3. mysql数据库表反向生成modes类

    一,如果你是windows,打开cmd,切换到desktop目录下 二,需要连接你的数据库,并且执行命令:sqlacodegen  --outfile models.py mysql+pymysql: ...

  4. pwd命令学习

    pwd命令学习 1.学习pwd命令 pwd命令功能为输出当前所在工作目录的绝对路径名称. 绝对路径和相对路径: 绝对路径:从根目录开始直到文件位置 相对路径:相对于程序当前所在目录到文件位置 例:程序 ...

  5. Make jQuery throw error when it doesn't match an element

    Make jQuery throw error when it doesn't match an element 解答1 You could make a plugin to use to ensur ...

  6. 你知道 Git 是如何做版本控制的吗?(转)

    总结:阅读这篇文章需要20分钟 本文是转载自 滴滴WebApp架构组 的一篇文章,文章讲解了神秘的.git目录下的一些文件,最终阐述了git是如何存储数据,及git分支的相关内容. git如何存储数据 ...

  7. ARTS挑战

    最近有点迷茫,感觉自己工作了一年多,技术成长有限,我要做出改变.2019年11月2日,就从今天开始,参加耗子叔的ARTS挑战. ARTS的初衷 Algorithm:主要是为了编程训练和学习.每周至少做 ...

  8. fiddler过滤机制讲解

    1.User Fiters启用 2.Action Action:Run Filterset now是否运行,Load Filterset加载,Save Filterset保存: 3.Hosts过滤 Z ...

  9. tensorflow学习之搭建最简单的神经网络

    这几天在B站看莫烦的视频,学习一波,给出视频地址:https://www.bilibili.com/video/av16001891/?p=22 先放出代码 #####搭建神经网络测试 def add ...

  10. 应用安全 - 工具 - Adobe - Adobe Flash Player - 漏洞 - 汇总

    CVE-2018-4878 Date 类型软件漏洞可被用于钓鱼 影响范围Flash Player版本28.0.0.137以及之前的所有版本 复现 分析