本系列的模块1展示了如何创建窗口并响应WM_PAINT和WM_CLOSE等窗口消息。模块2介绍了组件对象模型(COM)。
COM是创建可重用软件组件的规范。您将在现代Windows程序中使用的许多功能依赖于COM,例如:
- 图形(Direct2D)
- 文本(DirectWrite)
- Windows Shell
- Ribbon控件
- UI动画
(这个列表中的一些技术使用COM的子集,因此不是”纯粹的”COM)。
COM有难以学习的声誉。而编写一个新的软件模块来支持COM也是非常棘手的。但是,如果你的程序完全是COM的使用者,你可能会发现COM比你期望的更容易理解。
此模块显示如何在您的程序中调用基于COM的API。它还介绍了COM设计背后的一些原因。如果你明白COM的设计原因,你可以更有效地进行编程。本模块的第二部分介绍了COM推荐的编程实践。
COM于1993年推出,以支持对象链接和嵌入(OLE)2.0。人们有时会认为COM和OLE是一回事,这可能是COM认为很难学习的另一个原因。OLE 2.0建立在COM之上,但是你不需要知道OLE就可以理解COM。
COM是一种”二进制标准”,而不是语言标准:它定义了应用程序和软件组件之间的二进制接口。作为一个二进制标准,COM是语言中立的,尽管它自然映射到某些C++结构。本单元将重点讨论COM的三个主要目标:
- 将对象的实现从接口中分离出来。
- 管理对象的生命周期。
- 在运行时发现对象的功能。
在这个部分
相关话题
学习用C++编写Windows程序