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

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

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






                  IDC_PHYSICAL_MEM 和IDC_DISK_SPACE ,配合System Info for About Dlg 组件的建 



                  议。 



          TEST。CPP 



                  在CAboutDlg::OnInitDialog 中利用SetDlgItemText 设定稍早我们为对话窗画面新增的 



                  两个static 控制组件的文字内容(ponent Gallery 已经为我们做出这段程序代码,只是 



                  暂时把它标记为说明文字。我只要把标记符号// 去除即可): 



                  BOOL CAboutDlg::OnInitDialog() 

                  { 

                          。。。 

                          SetDlgItemText(IDC_PHYSICAL_MEM; strFreeMemory); 

                          。。。 

                          SetDlgItemText(IDC_DISK_SPACE; strFreeDiskSpace); 

                      } 

                      return TRUE;    // CG:  This was added by System Info ponent。 

                  } 



820 


…………………………………………………………Page 883……………………………………………………………

                           16                     ponents & ActiveX Controls 

                         第 章 站眾的肩膀 使用 



Test 修改结果 



     一切尽如人意。现在我们有了理想的Splash Screen 画面如前所述,也有了Tips of the 



     Day 对话窗: 



     以及一个内含系统信息的About 对话窗: 



                                                                               821 


…………………………………………………………Page 884……………………………………………………………

                第篇    深入  MFC  程式設計 



         使用ActiveX Controls 



                Microsoft  的Visual Basic  自1991 年推出以来,已经成为Windows 应用软件开发环境 



                中的佼佼者。它的成功极大部份要归功于其开放性质:它所提供的VBXs 被认为是一种 



                极佳的对象导向程序设计架构。VBX 是一种动态联结函数库(DLL ),类似Windows  的 



                订制型控制组件(custom control )。 



                VBX 不适用于32 位环境。于是Microsoft 再推出另一规格OCX 。不论是VBX 或 



                OCX ,或甚至Borland  的VCL,都提供Properties…Method…Event  (PME)接口。Visual Basic 



                之于VBX ,以及Borland C++ Builder 和Delphi 之于VCL,都提供了整合开发环境 



                 (IDE)与PME 接口之间的极密切结合,使得程序设计更进一步到达「以拖拉、填单等 



                简易动作就能够完成」的可视化境界。也因此没有人会反对把Visual Basic 和Delphi 和 



                C++ Builder 归类为RAD (Rapid Application Development ,快速软件开发工具)的行列。 



                但是Visual C++ 之于OCX ,还没能够有这么好的整合。 



                我怎么会谈到OCX 呢?本节不是ActiveX Control  吗?噢,OCX 就是ActiveX 



                Control !由于微软把它所有的Internet 技术都称为ActiveX ,所以OLE Controls 就变成 



                了ActiveX Controls 。 



                我不打算讨论ActiveX Control  的撰写,我打算把全部篇幅用到ActiveX Control  的使用 



                上。 



                 如果对ActiveX Control  的开发感兴趣,Adam Denning  的ActiveX Control Inside Out 是 



                 一本很不错的书(ActiveX 控制组件彻底研究,侯俊杰译/ 松岗) 



822 


…………………………………………………………Page 885……………………………………………………………

                             16                            ponents & ActiveX Controls 

                          第 章 站眾的肩膀 使用 



ActiveX Control   基础观念:Properties  、Methods、Event 



 你必须了解ActiveX Control 三种接口的意义,并且充份了解你打算使用的某个ActiveX 



 Control 有些什么特殊的接口,然后才能够使用它。 



 基本上你可以拿你已经很熟悉的C++ 类别来比较ActiveX control 。类别也是一个包装良 



 好的组件,有它自己的成员变量,以及处理这些成员变量的所谓成员函数,是个自给自 



 足的体系。ActiveX control  的三个接口也有类似性质: 



  ■  property 相当于C++ 类别的成员变量 



  ■  method 相当于C++ 类别的成员函数 



  ■  event 相当于Windows 控制组件发出的notification 消息 



 ActiveX Control 规格中定有一些标准的(库存的)接口,例如BackColor 和FontName 



 等properties ,AddItem  和Move 和Refresh 等methods ,以及CLICK 和KEYDOWN 等 



 events 。也就是说,任何一个ActiveX Control 大致上都会有一些必备的、基础的性质和 



 能力。 



 以下针对ActiveX Control  的三种接口与C++ 类别做个比较。至于它们的具体展现以及 



 如何使用,稍后在实例中可以看到。 



                                         CObject 

                                          CObject 



                                     CCmdTarget 

                                     CCmdTarget 



                                           CWnd 

                                           CWnd 



                                               CButton 

                                               CButton 



                                                CEdit 

                                                CEdit 



                                               CListBox 

                                               CListBox 



                                             COleControl 

                                              COleControl 



                                       。。。 



                                                                                                823 


…………………………………………………………Page 886……………………………………………………………

                  第篇    深入  MFC  程式設計 



              methods 



                  设计自己的C++ 类别,你当然可以在其中设计成员函数。此一函数之调用者必须在编 



                  译时期知道这一函数的功能以及它的参数。搭配Windows  内建之控制组件(如Edit 、 



                  Button )而设计的类别(如CEdit、CButton),内部固定会设计一些成员函数。某些成 



                  员函数(如CEdit::GetLineCount)只适用于特定类别,但某些根类别的成员函数(例如 



                  CWnd::GetDlgItemText)则适用于所有的子类别。 



                  ActiveX Control  的method 极类似C++ 类别中的成员函数。但它们被限制在一个有限 



                  的集合之中,集合内的名单包括AddItem 、RemoveItem 、Move 和Refresh 等等。并不是 



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