MFC Internal--part 1

引子

MFC是windows一个成熟的应用程序开发框架,虽然目前微软主推.net了,但作为一个有十多年历史且已经非常成熟的框架来说,MFC还是有很多值得我们参考和学习的地方,作为一个MFC的初学者,在这里将学习的心得记录下来。

MFC总揽

MFC的基础是什么,当然是C++。MFC对windows的面向过程(基于消息,面向API)的编程方式进行封装——使用C++面向对象技术进行的封装。windows API很多,“MFC使用抽象、封装、继承、多态性和模块化的面向对象原则,逻辑上将windows API进行分类”。

MFC的组成

    MFC的组成大概可以划分为四个方面:

    1.通用类

      CObjcet是几乎所有类的超类。该类包含一些运行时类型标识,序列化,诊断函数和对动态对象创建(删除)的支持。

      异常处理类。

      内存诊断类。

      集合类。在MFC提出的年代,STL还不成熟,不过现在可以你可选用STL了。

      动态字符串CString,没说的,很好用个,不过要注意些一些关键的地方。

      文件类。CFile二进制文件, CMemFile内存文件,CStdioFile文本文件。

      时间相关。CTime, CTimeSpan。

      混合类,如CRect, CSize,CPoint。

    2.Windows API相关类。 这里封装了绝大多数windows API和windows对象。

     应用程序:CCmdTarget, CCmdUI, CWinThread, CWinApp

     同步对象

     Util类,CCommnadLineInfo, CWaitCursor

     窗口类。CWnd是所有窗口类的基类。这就派生了单文档框架,多文档框架和对话框以及相应的一些控件。

     控件,有些控件是从CWnd继承来的,如CButton。当然有些控件也不是从CWnd继承来的,比如CAnimateCtrl,CDragListBox,CHeaderCtrl,CHotKeyCtrl,CListCtrl,CRichEditCtrl.....

     Menu

     DDE动态数据交换支持类。DDX、DDV支持。

     GDI支持。

    3.应用程序框架。MFC支持doc-view架构,这实际上是一种MVC的应用方式,将数据和数据的表示想分离。

      CDocTemplate, CSingleDocTemplate,CMultiDocTemplate。这些将doc和view连接起来,是MFC中doc,view和框架窗口的连接点。

      CDocument,模型数据

      CView,视图基类。

      更高层次的抽象,CView的扩展如CScrollView,CEditView,CRichEditView;分割窗;控制栏,包括工具栏,状态栏和对话框。

     4.操作系统扩展。

       OLE支持,包括复合文档,自动化,ActiveX控件,统一数据传输

       ODBC、DAO

       Mail

       WinSock

       手写编辑控件,Pen Windows。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值