友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!
富士康小说网 返回本书目录 加入书签 我的书架 我的书签 TXT全本下载 『收藏到我的浏览器』

深入浅出MFC第2版(PDF格式)-第3部分

快捷操作: 按键盘上方向键 ← 或 → 可快速上下翻页 按键盘上的 Enter 键可回到本书目录页 按键盘上方向键 ↑ 可回到本页顶部! 如果本书没有阅读完,想下次继续接着阅读,可使用上方 "收藏到我的浏览器" 功能 和 "加入书签" 功能!





          MFC  的运作机制太让人陌生了。 



           目前市面上有不少讲解MFC 程序设计观念的书籍,其中不乏很好的作品,包括Programming 



           Windows 95 with MFC  (Jeff Prosise 着,Microsoft Press  出版),以及我曾经翻译过的Inside 



           Visual C++ 4。0  (David J。Kruglinski 着,Microsoft Press  出版)。深入浅出MFC 的宗旨与以 



          上二书,以及全世界所有的MFC 或Visual C++ 书籍,都不相同。全世界(呵,我的确敢 



          这么说)所有与MFC 相关的书籍的重点,都放在如何使用各式各样的MFC 类别上,并供 



          应各式各样的应用实例,我却意不在此。我希望提供的是对MFC 应用程序基本架构的每一 



          个技术环节的深入探讨,其中牵扯到MFC 本身的设计原理、对象导向的观念、以及C++ 语 



          言的高级议题。有了基础面的全盘掌握,各个MFC 类别之使用对我们而言只不过是手册查 



           阅的功夫罢了。 



          本书书名已经自我说明了,这是一本既深又浅的书。深与浅是悖离的两条射线,理不应同时 



          存在。然而,没有深入如何浅出?不入虎穴焉得虎子? 



          唯有把MFC 骨干程序的每一个基础动作弄懂,甚至观察其源代码,才能实实在在掌握MFC 



          这一套application framework  的内涵,及其对象导向的精神。我向来服膺一句名言:源代码 



          说明一切,所以,我挖MFC 源代码给你看。 



          这是我所谓的深入。 



8 


…………………………………………………………Page 31……………………………………………………………

唯有掌握住MFC  的内涵,对于各式各样的MFC 应用才能够如履平地,面对庞大的 



application framework 也才能够胸中自有丘壑。 



这是我所谓的浅出。 



本书分为四大篇。第一篇提出学习MFC 程序设计之前的必要基础,包括Windows 程序的 



基本观念以及C++  的高阶议题。「学前基础」是相当主观的认定,不过,基于我个人的学习 



经验以及教学经验,我的挑选应该颇具说服力。第二篇介绍Visual C++ 整合环境开发工具。 



本篇只不过是提纲挈领而已,并不企图取代Visual C++ 使用手册。然而对于软件使用的老 



手,此篇或已足以让您掌握Visual C++ 整合环境。工具的使用虽然谈不上学问,但在可视化 



软件开发过程中扮演极重角色,切莫小觑它。 



第三篇介绍application framework  的观念,以及MFC 骨干程序。所谓骨干程序,是指Visual 



C++  的工具AppWizard 所产生出来的程序代码。当然,AppWizard 会根据你的选项做出不同 



的程序代码,我所据以解说的,是大众化选项下的产品。 



第四篇以微软公司附于Visual C++ 光盘片上的一个范例程序Scribble 为主轴,一步一步加 



上新的功能。并在其间深入介绍Runtime Type Information (RTTI )、Dynamic Creation 、 



Persistence (Serialization)、Message Mapping、mand Routing 等核心技术。这些技术正 



是其它书籍最缺乏的部份。此篇之最后数章则脱离Scribble 程序,另成一格。 



                                                                     9 


…………………………………………………………Page 32……………………………………………………………

           本书前身,1994/08 出版的Visual C++ 对象导向MFC 程序设计基础篇以及1995/04 年 



           出版的应用篇篇,序言之中我曾经这么说,全世界没有任何书籍文章,能够把MFC 谈得这么 



           深,又表现得这么浅。这些话已有一半成为昨日黄花:Microsoft Systems Journal 1995/07  的一 



           篇由Paul Dilascia 所撰的文章Meandering Through the Maze of MFC Message and mand 



           Routing ,以及Addison Wesley 于1996/06 出版的MFC Internals  一书,也有了相当程度的核 



           心涉猎,即连前面提及的Programming Windows 95 with MFC  以及Inside Visual C++ 4。0  两本 



           书,也都多多少少开始涉及MFC 核心。我有一种「德不孤必有邻」的喜悦。 



           为了维护本书更多的唯一性,也由于我自己又钻研获得了新的心得,本书增加了前版未有的 



           Runtime Type Information 、Dynamic Creation 等主题,对于Message Mapping  与mand 



           Routing  的讨论也更详细得多,填补了上一版的缝隙。更值得一提的是, 我把这些在MFC  中 



           极神秘而又极重要的机制,以简化到不能再简化的方式,在DOS 程序中仿真出来,并且补 



           充一章专论C++  的高阶技术。至此,整个MFC  的基础架构已经完全曝露在你的掌握之中, 



           再没有任何神秘咒语了。 



           本书从MFC  的运用,钻入MFC  的内部运作,进而application framework  的原理,再至物 



           件导向的精神,然后回到MFC  的运用。这会是一条迢迢远路吗? 



           似远实近! 



           许多朋友曾经与我讨论过,对于MFC 这类application framework,应该挖掘其内部机制到什 



           么程度?探究源代码,岂不有违「黑盒子」初衷?但是,没有办法,他们也同意,不把那些 



           奇奇怪怪的宏和指令搞清楚,只能生产出玩具来。对付MFC  内部机制,态度不必像对付 



           MFC 类别一样;你只需好好走过那么一回,有个印象,足矣。至于庞大繁复的整个application 



           framework 技术的铺陈串接,不必人人都痛苦一次,我做这么一次也就够了 。 



10 


…………………………………………………………Page 33……………………………………………………………

林语堂先生在朱门一书中说过的一句话,适足作为我写作本书的心境,同时也对我与朋友 



之间的讨论做个总结: 



       「只用一样东西,不明白它的道理,实在不高明」。 



祝各位胸中丘壑自成! 



                                  侯俊杰  新竹1996。08。15 



P。S。 愈来愈多的朋友在网络上与我打招呼,闲聊谈心。有医师、盲生、北京的作家、香港的 



读者、从国中到研究所的各级学生。学生的科系范围广到令我惊讶,年龄的范围也大到令我 



惊讶。对于深居简出的作家而言,读者群只是一个想象空间,哦,我真有这么多读者吗?! 呵 



呵,喜欢这种感觉。回信虽然是一种压力,不过这是个甜蜜的负担。 



你们常常感谢我带给你们帮助。你们一定不知道,没有你们细心研读我的心血,并且热心写 



信给我,我无法忍受写作的漫漫孤寂!我可以花三天的时间写一篇序,也可以花一个上午设 



计一张图。是的,我愿意!我对拥有一群可爱可敬的读者感到骄傲。 



                                                            11 


…………………………………………………………Page 34……………………………………………………………

        12 


…………………………………………………………Page 35……………………………………………………………

                                                                                          目  錄 



                                           目錄 



                                     ( 表示本版新增內容) 

                                      *  



    *  讀者來函          / 1 



*  第版序              / 5 



  第版序               / 7 



   目錄                / 13 



  第0章 你定要知道(導讀)                             / 27 

             



                  這本書適合誰                     / 27 



                  你需要什麼技術基礎                  / 29 



                  你需要什麼軟硬體環境                 / 29 



                  讓我們使用同種語言                 / 30 



                  本書符號習慣                     / 34 



                  磁片內容與安裝                    / 34 



                  範例程式說明                     / 34 



                  與前版本之差異                    / 39 



            如何聯絡作者                           / 40 



  第篇 勿在浮砂築高臺 本書技術前提 

                                                  / 001 



  第1章    Win32  程式基本觀念/ 003 



                  Win32  程式開發流程/ 005 



                  需要什麼函式庫(。LIB ) / 005 



            需要什麼表頭檔( ) 

                              。H       / 006 



                                                                                                       13 


…………………………………………………………Page 36……………………………………………………………

                深入湷觥 FC    



                                以訊息為基礎,以事件驅動之                           / 007 



                                個具體而微的  Win32  程式                      / 009 



                                        程式進入點  WinMain                  / 015 



                                        視窗類別之裕耘c視窗之誕生                   / 016 



                                        訊息迴路                            / 018 



                                視窗的生命樞 視窗函式 

                                                                      / 019 



                                        訊息映射(Message Map )雛形  / 020 



                                        對話盒的咦鳌                         / 022 



                                        模組定義檔(。DEF )                    / 024 



                                資源描述檔(  ) 

                                                。RC                     / 024 



                                Windows  程式的生與死                         / 025 



                                閒置時間的處理:OnIdle                           / 027 



                            * Console  程式                               / 028 



                                    * Console 程式與DOS 程式的差別                             / 029 



                                    * Console 程式的編譯聯結                                  / 031 



                                    *        :                 程式設計                    /  

                                JBACKUP       Win32 Console                              032 



                                    *       :                 程式設計                     /  

                                MFCCON        MFC Console                                035 



                                    *  什麼是  C Runtime Library  的多緒版本                   / 038 



                                行程與執行緒(Process and Thread )                            / 039 



                                        核心物件                                           / 039 



                                        個行程的誕生與死亡                                     / 040 



                                        產生子行程                                          / 041 



                                        個執行緒的誕生與死亡                                    / 044 



                                    *  以  _beginthreadex  取代CreateThread               / 046 



                                        執行緒優先權(Priority )                              / 048 



                                    *  多緒程式設計實例                                        / 050 



14 


…………………………………………………………Page 37……………………………………………………………

                                                                                                    目  錄 



第2章    C++  的重要性伲                                                    / 055 



           類別及其成員 談封裝(                                 ) 

                                       encapsulation                / 056 



           基礎類別與衍生類別 談繼承(                                    ) 

                                              Inheritance    / 057 



                this  指標                                              / 061 



                虛擬函式與多型(Polymorphism )                                / 062 



                類別與物件大解剖                                              / 077 



                Object slicing  與虛擬函式                                 / 082 



                靜態成員(變數與函式)                                           / 085 



                C++  程式的生與死:兼談建構式與解構式                                 / 088 



            *  種不同的物件生存方式                              / 090 



            *  所謂  〃Unwinding〃                          / 092 



                執行時期型別資訊(RTTI )                         / 092 



                動態生成(Dynamic Creation )                 / 095 



                異常處理(Exception Handling )               / 096 



                Template                                / 100 



                        Template Functions              / 101 



                        Template Classes                / 104 



                        Templates  的編譯與聯結               / 106 



第3章    MFC  六大關鍵技術之模擬                                   / 109 



                MFC  類別階層                               / 111 



                        Frame1  範例程式                    / 111 



                MFC  程式的初始化過程                           / 115 



                        Frame2  範例程式                    / 118 



                RTTI (執行時期型別辨識)                         / 122 



                        CRuntimeClass  與類別型錄網           / 123 



                        DECLARE_DYNAMIC / IMPLEMENT_DYNAMIC  巨集  / 125 



                        Frame3  範例程式                    / 132 



                                                                                                                 15 


…………………………………………………………Page 38……………………………………………………………

                 深入湷觥 FC    



                                              (型別辨識) 

                                         IsKindOf             / 140 



                                         Frame4  範例程式                 / 141 



                                 Dynamic Creation (動態生成) / 143 



                                         DECLARE_DYNCREATE / IMPLEMENT_DYNCREATE  巨集  / 144 



                                         Frame6  範例程式                 / 151 



                                 Persistence  (永續生存)機制  / 160 



                                         Serialize  (資料讀寫)            / 161 



                                         DECLARE_SERIAL/IMPLEMENT_SERIAL  巨集                       / 167 



                                         洠в泄犂淌健                      / 170 



                                 Message Mapping  (訊息映射) / 170 



                                         Frame7  範例程式                 / 181 



                                 mand Routing  (命令繞行) / 191 



                                         Frame8  範例程式                 / 203 



                             *  本章回顧                                  / 216 



                 第篇 欲善工事先利其器-                                            開發工具 

                                                        Visual C++ 5。0                   / 217 



                 第4章    Visual C++  整合性軟體開發環境                                     / 219 



                                 安裝與組成                                              / 220 



                                 個重要的工具                                            / 234 



                                 內務府總管:Visual C++  整合開發環境/ 236 



                                         關於project                    / 237 



                                         關於工具設定                       / 241 



                                         Source Browser               / 243 



                                         Online Help                  / 247 



                                         除錯工具                         / 249 



                                                 VC++  
返回目录 上一页 下一页 回到顶部 9 10
快捷操作: 按键盘上方向键 ← 或 → 可快速上下翻页 按键盘上的 Enter 键可回到本书目录页 按键盘上方向键 ↑ 可回到本页顶部!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!