友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!阅读过程发现任何错误请告诉我们,谢谢!! 报告错误
狗狗书籍 返回本书目录 我的书架 我的书签 TXT全本下载 进入书吧 加入书签

深入浅出MFC第2版(PDF格式)-第113章

按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!






    1997 年五月推出的Visual C++ 5。0 ,主要诉求在编译器的速度改善,并将Visual C++ 合 



    并到微软整个Visual Tools  的终极管理软件Visual Studio 97 之中。所有的微软虚拟开 



    发工具,包括Visual C++ 、Visual Basic 、Visual J++ 、Visual InterDev 、Visual FoxPro 、都 



    在Visual Studio 97  的整合之下有更密切的彼此奥援。至于程序设计方面,MFC 本身没 



    有什么变化(4。21 版),但附了一个ATL        (Active Template Library )2。1 版,使ActiveX 



    控制组件的开发更轻松些。 



    我想你会发现,微软正不断地为「为什么要使用MFC 」加上各式各样的强烈理由,并强 



    烈导引它成为Windows 程序设计的C++ 标准接口。你会看到愈来愈多的MFC/C++ 程 



    式码。对于绝大多数的技术人员而言,Application Framework  的抉择之道无它,「MFC 



    是微软公司钦定产品」,这个理由就很呛人了。 



纵览 MFC 



    MFC 非常巨大(其它application framework 也不差),在下一章正式使用它之前,让我 



    们先做个浏览。 



    请同时参考书后所附之MFC 架构图 



                                                                       329 


…………………………………………………………Page 392……………………………………………………………

               第篇    湷觥 FC  程式設計 



               MFC 类别主要可分为下列数大群组: 



                  ■ General Purpose classes 提供字符串类别、数据处理类别(如数组与串行),异 



                     常情况处理类别、文件类别。。。等等。 



                  ■ Windows API classes 用来封包Windows API ,例如窗口类别、对话框类别、 



                     DC 类别。。。等等。 



                  ■ Application framework classes 组成应用程序骨干者, 即此组类别, 包括 



                      Document/View 、消息邦浦、消息映射、消息绕行、动态生成、文件读写等等。 



                  ■ high level abstractions 包括工具栏、状态列、分裂窗口、卷动窗口等等。 



                   ■  operation system extensions 包括OLE、ODBC 、DAO 、MAPI 、WinSock、ISAPI 



                    等等。 



           General Purpose classes 



                也许你使用MFC  的第一个目标是为了写Windows 程序,但并不是整个MFC 都只为 



                此目的而活。下面这些类别适用于Windows ,也适用于DOS。 



            CObject 



                绝大部份类别库,往往以一个或两个类别,做为其它绝大部份类别的基础。MFC 亦复如 



                此。CObject 是万类之首,凡类别衍生自CObject 者,得以继承数个对象导向重要性质, 



                包括RTTI (执行时期型别鉴识)、Persistence    (对象保存)、Dynamic Creation (动态生 



                成)、Diagnostic (错误诊断)。本书第3章对于这些技术已有了一份DOS 环境下的模 



                拟,第8章另有MFC 相关源代码的探讨。其中,「对象保存」又牵扯到CArchive,「诊 



                断」又牵扯到CDumpContext,「执行时期型别鉴识」以及「动态生成」又牵扯到 



                CRuntimeClass。 



           数据处理类别 (collection classes) 



                所谓collection,意指用来管理一「群」对象或标准类型的资料。这些类别像是Array 或 



330 


…………………………………………………………Page 393……………………………………………………………

                                                         第5章    總觀Application Framework  



  List 或Map 等等,都内含针对元素的「加入」或「删除」或「巡访」等成员函数。Array 



   (数组)和List      (串行)是数据结构这门课程的重头戏,大家比较熟知,Map                                (可视之 



  为表格)则是由成双成对的两两对象所构成,使你很容易由某一对象得知成对的另一物 



  件;换句话说一个对象是另一个对象的键值(key )。例如,你可以使用String…to…String 



  Map ,管理一个「电话…人名」数据库;或者使用Word…to…Ptr Map ,以16 位数值做为 



  一个指针的键值。 



  最令人侧目的是,由于这些类别都支持Serialization,一整个数组或串行或表格可以单一 



  一进程序代码就写到文件中(或从文件读出)。第8章的Scribble Step1 范例程序中你就会 



  看到它的便利。 



  MFC 支持的collection classes 有: 



                                          CObject 

                                          CObject 



          CArray (template)             CList (template)            CMap (template) 

           CArray (template)            CList (template)            CMap (template) 



             CByteArray                    CPtrList                 CMapWordToPtr 

              CByteArray                                            CMapWordToPtr 



            CDWordArray                    CObList                  CMapPtrToWord 

             CDWordArray                    CObList                 CMapPtrToWord 



              CObArray                    CStringList                CMapPtrToPtr 

              CObArray                    CStringList                 CMapPtrToPtr 



              CPtrArray                Lists of user types          CMapWordToOb 

              CPtrArray                Lists of user types          CMapWordToOb 



             CStringArray                                           CMapStringToPtr 

             CStringArray         Typed Template Collections        CMapStringToPtr 



              CUIntArray                CTypedPtrArray              CMapStringToOb 

              CUIntArray                CTypedPtrArray              CMapStringToOb 



             CWordArray                  CTypedPtrList             CMapStringToString 

             CWordArray                  CTypedPtrList             CMapStringToString 



          Arrays of user types          CTypedPtrMap               Maps of user types 

          Arrays of user types           CTypedPtrMap               Maps of user types 



杂项类别 



    ■ CRect 封装Windows  的RECT  结构。这个类别在Windows 环境中特别有用, 



        因为CRect 常常被用作MFC 类别成员函数的参数。 



    ■ CSize   封装Windows  的SIZE 结构。 



    ■   CPoint 封装Windows  的POINT 结构。这个类别在Windows 环境中特别有用, 



                                                                                                331 


…………………………………………………………Page 394……………………………………………………………

                   第篇    湷觥 FC  程式設計 



                 
返回目录 上一页 下一页 回到顶部 0 0
未阅读完?加入书签已便下次继续阅读!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!