电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

深入学习ATLVIP免费

深入学习ATL_第1页
1/18
深入学习ATL_第2页
2/18
深入学习ATL_第3页
3/18
深入解析ATL(第二版ATL8.0)(1.11-1.13节) 1.11 容纳控件 1.11.1 容纳控件 利用 ATL 所支持的控件容纳,可实现容纳控件。比如, CAxDialogImpl 中的 Ax 两字就表示 ActiveX 控件,表示对话框具有容纳控件的能力。在对话框中实现容纳控件,只需在对话框资源上点击右键,从弹出菜单选择 Insert ActiveX Control ,然后弹出一个对话框,列举了系统安装的所有控件,如图 1-17 所示。 图 1-17 插入 ActiveX 控件对话框 插入控件后,点击控件可以在控件的属性窗口设置控件的属性。如图 1-18 所示。 图 1-18 控件属性对话框 在属性对话框的工具栏上点击控件事件按钮,还可以选择处理控件的事件,如图 1-19 所示。 图 1-19 选择处理的控件事件 容纳对话框运行显示时,控件被创建,同时根据开发阶段设置的属性初始化控件。图 1-20 显示了容纳了一个控件的对话框。 图 1-20 容纳 COM 控件的对话框 ATL 不但提供了对话框的容纳控件功能,其他窗口也同样支持:声明为对话框资源的 UI 控件(称为复合控件);声明为 HTML 资源的 UI 控件(称为 HTML 控件)。关于控件容器的更多信息请参考第十二章“控件容器”。 1.11.2 C++ COM 客户端 至少在理论上, COM 与 C++ 是一致的。一个 COM 接口直接映射为一个 C++ 的抽象类。使用 COM 对象,仅仅需要使用 MIDL 编译器运行 IDL 文件,就可以生成一个头文件,里面包含有所有需要的信息。 所有的这一切都运行正常,直到 VB 团队询问他们也是否可以使用 COM 技术。 VB 开发人员通常不知道,也不想知道 C++ 语言。 IDL 也是一个与 C++ 传统语言相似的语言,其中也支持许多 C/C++ 的特性(比如数组和指针)。 VB 需要一种方法来存储这些 COM 对象的类型信息,以方便 VB 开发人员使用和理解它们。 因此类型库诞生了(也称为 typelib )。类型库存储 COM 对象的信息:对象支持的接口 classid ;接口的方法; IDL 文件中看到的所有信息,等等 ( 除了一些不合宜的、大部分必须等同 C 数组处理内容 ) 。 COM 系统包含一系列可以根据 typelib 内容编程访问的 COM 对象。最好的就是类型库可以直接嵌入到 DLL 或者 EXE ,因此不必担心类型库信息的丢失。 现在,当一些 COM 组件没有打包 IDL 文件时,类型库对 VB 开发人员具有非常的意义;类型库包含有使用组件需要的所有信息。现在只缺少一样:如...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部