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

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

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






                                            1449                                291 

Win32                 1993。08                   (持续增加当中)             (持续增加当中) 



                                    A PI Jun gle 



                                                                                          323 


…………………………………………………………Page 386……………………………………………………………

                第篇    湷觥 FC  程式設計 



                                                       (  ) 

           Microsoft Foundation Classes                  MFC 



                PC 世界里出了三套C++ Application Frameworks ,并且有愈多愈多的趋势。这三套是 



                Microsoft  的MFC  (Microsoft Foundation Classes  ) , Borland  的OWL  (Object 



                WindowLibrary ),以及IBM VisualAge C++  的Open Class Library 。至于其它C++ 编译 



                器厂商如Wat 、Symantec、Metaware ,只是供应整合开发环境(Integraded Development 



                Environment ,IDE),其Application Framework 都是采用微软公司的MFC 。 



                Delphi (Pascal 语言),依我之见,也称得上是一套Application Framework 。Java 语言 



                本身内建一套标准类别库,依我之见,也够得上资格被称为Application Framework 。 



                Delphi 和Visual Basic ,又被称为是一种应用程序快速开发工具(RAD ,Rapid Application 



                Development )。它们采用PME  (Properties…Method…Event )架构,写程序的过程像是在 



                一张画布上拼凑一个个现成的组件(ponents ):设定它们的属性(properties )、指 



                定它们应该「有所感」的外来刺激(events ),并决定它们面对此刺激时在预设行为之外 



                的行为(methods )。所有动作都以拖拉、设定数值的方式完成,非常简单。只有在设定 



                组件与组件之间的互动关系时才牵涉到程序代码的写作(这一小段码也因此成为顺利成功 



                的关键)。 



                Borland 公司于1997 年三月推出的C++ Builder 也属于PME 架构,提供一套Visual 



                ponent Library (VCL ),内有许许多多的组件。因此C++ Builder 也算得上是一套 



                RAD (应用程序快速开发工具)。 



                早初,开发Windows 应用程序必须使用微软的SDK          (Software Development Kit ),直 



                接调用Windows API  函数,向Windows 操作系统提出各种要求,例如配置内存、开 



                启窗口、输出图形。。。。 



                所谓API (Application Programming Interface ),就是开放给应用程序调用的系统功能。 



324 


…………………………………………………………Page 387……………………………………………………………

                                        第5章    總觀Application Framework  



数以千计的Windows APIs ,每个看起来都好象比重相若(至少你从手册上看不出来孰轻 



孰重)。有些APIs 彼此虽有群组关系,却没有相近或组织化的函数名称。星罗棋布, 



雾列星驰;又似雪球一般愈滚愈多,愈滚愈大。撰写Windows 应用程序需要大量的耐 



力与毅力,以及大量的小心谨慎! 



MFC 帮助我们把这些浩繁的APIs ,利用对象导向的原理,逻辑地组织起来,使它们具 



备抽象化、封装化、继承性、多态性、模块化的性质。 



1989 年微软公司成立Application Framework 技术团队,名为AFX 小组,用以开发C++ 



对象导向工具给Windows 应用程序开发人员使用。AFX  的〃X〃 其实没有什么意义, 



只是为了凑成一个响亮好念的名字。 



这个小组最初的「宪章」,根据记载,是要〃utilize the latest in object oriented technology to 



provide tools and libraries for developers writing the most advanced GUI applications on the 



market〃,其中并未画地自限与Windows 操作系统有关。果然,其第一个原型产品,有 



自己的窗口系统、自己的绘图系统、自己的对象数据库、乃至于自己的内存管理系统。 



当小组成员以此产品开发应用程序,他们发现实在是太复杂,又悖离公司的主流系统…



Windows …太遥远。于是他们修改宪章变成〃deliver the power of object…oriented solutions 



to programmers to enable them to build world…class Windows based applications in C++。〃 这差 



不多正是Windows 3。0 异军崛起的时候。 



C++ 是一个复杂的语言,AFX 小组预期MFC  的使用者不可能人人皆为C++ 专家,所 



以他们并没有采用所有的C++ 高阶性质(例如多重继承)。许多「麻烦」但「几乎一 



成不变」的Windows 程序动作都被隐藏在MFC 类别之中, 例如WinMain 、 



RegisterClass 、Window Procedure 等等等。 



 虽说这些被隐藏的Windows 程序动作几乎是一成不变的,但它们透露了Windows 程序 



 的原型奥秘,这也是为什么我要在本书之中锲而不舍地挖出它们的原因。 



                                                                     325 


…………………………………………………………Page 388……………………………………………………………

             第篇    湷觥 FC  程式設計 



              为了让MFC 尽可能地小,尽可能地快,AFX 小组不得不舍弃高度的抽象(导至过多的 



              虚拟函数),而引进他们自己发明的机制,尝试在对象导向领域中解决Windows 消息 



              的处理问题。这也就是本书第9章深入探讨的Message Mapping 和Message routing 机 



              制。注意,他们并没有改变C++ 语言本身,也没有扩大语言的功能。他们只是设计了 



              一些令人拍案叫绝的宏,而这些宏背后隐藏着巨大的机制。 



              了解这些宏(以及它们背后所代表的机制)的意义,以及隐藏在MFC 类别之中的那 



              些足以曝露原型机密的「麻烦事儿」,正是我认为掌握MFC 这套Application Framework 



              的重要手段。 



              就如同前面那些形而上的定义,MFC 是一组凝聚性强、组织性强的类别库。如果你要利 



              用MFC 发展你的应用程序,必须同时引用数个必要类别,互相搭配奥援。图5…3 是一 



              个标准的MFC 程序外貌。隐藏在精致画面背后更重要的是,就如我在前面说过,对象 



              与对象之间的关系已经存在,消息的流动程序也都已设定。当你要为这个程序设计真正 



              的应用功能,不必在意诸如「我如何得知使用者按左键?左键按下后我如何激活某一个 



              函数?参数如何传递过去。。。」等琐事,只要专注在左键之后真正要做的功能动作就好。 



                               窗口标题 



           菜单及工具栏中已提供标准之基础功能 

                                                                 菜单(menu) 

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