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

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

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



g;  

                              如果我们了解 Windows程序的基本运作原理                                     Message Routing。 



                              ;并了解 MFC 如何把这些基础动作整合起来                               Windows APIs  

                                                                                   包装在MFC 各类别中 

                              ;我们就能够使 MFC 学习曲线的陡峭程度缓                         Window Procedure  由 MFC 提供 



                              和下来。因此能够迅速接受MFC,进而使用                      GetMessage/DispatchMessage 

                                                                        包裝在 CWinApp::Run  中 

                              MFC。呵,一条似远实近的道路! 

                                                                  CreateWindow 应该在 CWinApp::InitInstance 中调用 



                                                             RegisterClass         AfxWinInit 中 

                                                                          包装于 



                                         MFC 骨干程序  WinMain 由 MFC 提供 



                                          Visual C++ 各种工具之使用 



                                                                                                            345 



一个 


…………………………………………………………Page 408……………………………………………………………

              第篇    湷觥 FC  程式設計 



              我希望你了解,本书之所以在各个主题中不厌其烦地挖MFC  内部动作,解释骨干程序 



              的每一条指令,每一个环节,是为了让你踏实地接受MFC ,进而有能力役使MFC 。你 



              以为这是一条远路?呵呵,似远实近! 



        不二法门:熟记MFC 类别的阶层架构 



              MFC 在1。0 版时期的诉求是「一组将SDK API 包装得更好用的类别库」,从2。0 版 



              开始更进一步诉求是一个「Application Framework 」,拥有重要的Document…View 架构; 



              随后又在更新版本上增加了OLE 架构、DAO 架构。。。。为了让你有一个最轻松的起点, 



              我把第一个程序简化到最小程度,舍弃Document…View 架构,使你能够尽快掌握 



              C++/MFC 程序的面貌。这个程序并不以AppWizard 制作出来,也不以ClassWizard 管 



              理维护,而是纯手工打造。毕竟Wizards 做出来的程序代码有一大堆批注,某些批注对 



              Wizards 有特殊意义,不能随便删除,却可能会混淆初学者的视听焦点;而且Wizards 所 



              产生的程序骨干已具备Document…View 架构,又有许多奇奇怪怪的宏,初学者暂避为 



              妙。我们目前最想知道的是一个最阳春的MFC 程序以什么面貌呈现,以及它如何开始 



              运作,如何结束生命。 



              SDK 程序设计的第一要务是了解最重要的数个API  函数的意义和用法, 像是 



              RegisterClass 、CreateWindow、GetMessage、DispatchMessage ,以及消息的获得与分配。 



              MFC 程序设计的第一要务则是熟记MFC  的类别阶层架构,并清楚知晓其中几个一定会 



              用到的类别。本书最后面有一张MFC 4。2 架构图,叠床架屋,令人畏惧,我将挑出单单 



              两个类别,组合成一个〃Hello MFC〃 程序。这两个类别在MFC  的地位如图6…1 所示。 



346 


…………………………………………………………Page 409……………………………………………………………

                                                          第6章    MFC 程式的生死因果 



        CObject 

         CObject 



           CCmdTarget 

            CCmdTarget 



               CWinThread 

                CWinThread 



                   CWinApp 

                   CWinApp 



                      CMyWinApp 

                       CMyWinApp 



               CWnd 

                CWnd 



                   CFrameWnd 



                      CMyFrameWnd 

                       CMyFrameWnd 



            图6…1 本章范例程序所用到的MFC 类别 



需要什么函数库? 



       开始写码之前,我们得先了解程序代码以外的外围环境。第一个必须知道的是,MFC 程序 



       需要什么函数库?SDK 程序联结时期所需的函数库已在第一章显示,MFC 程序一样需 



       要它们: 



       ■ Windows C Runtime函数库(VC++ 5。0 ) 



       文件名称                   文件大小                        说明 



       LIBC。LIB                                         898826                 C Runtime 函数库的静态联结版本 



       MSVCRT。LIB                                 510000                 C Runtime  函数库的动态联结版本 



       MSVCRTD。LIB                              803418                 'D' 表示使用于Debug 模式 



       * 这些函数库不再区分Large/Medium/Small 内存模式,因为32 位操作系统不再有记 



          忆体模式之分。这些函数库的多线程版本,请参考本书#38 页。 



                                                                                       347 


…………………………………………………………Page 410……………………………………………………………

                 第篇    湷觥 FC  程式設計 



                 ■  

                    DLL Import 函数库(VC++ 5。0 ) 



                 文件名称           文件大小                       说明 



                                                           (                 ) 

                 GDI32。LIB         307520      for GDI32。DLL 136704 bytes in Win95 



                                                             (                ) 

                 USER32。LIB        517018      for USER32。DLL 45568 bytes in Win95 



                                                               (                 ) 

                 KERNEL32。LIB      635638      for KERNEL32 DLL 413696 bytes in Win95 



                 。。。 



                 此外,应用程序还需要联结一个所谓的MFC  函数库,或称为AFX  函数库,它也就是MFC 



                 这个application framework  的本体。你可以静态联结之,也可以动态联结之,AppWizard 



                 给你选择权。本例使用动态联结方式,所以需要一个对应的MFC import 函数库: 



                 ■  MFC  函数库(AFX  函数库)    (VC++ 5。0,MFC 4。2) 



                  文件名称        文件大小                        说明 



                                                    (          )的 

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