OLE Control Classes

These are the primary classes you’ll use when writing OLE controls. The COleControlModule class in an OLE control module is like the CWinApp class in an application. Each module implements one or more OLE controls; these controls are represented by COleControl objects. These controls communicate with their containers using CConnectionPoint objects.

The CPictureHolder and CFontHolder classes encapsulate COM interfaces for pictures and fonts, while the COlePropertyPage and CPropExchange classes help you implement property pages and property persistence for your control.

COleControlModule

Replaces the CWinApp class for your OLE control module. Derive from the COleControlModule class to develop an OLE control module object. It provides member functions for initializing your OLE control’s module.

COleControl

Derive from the COleControl class to develop an OLE control. Derived from CWnd, this class inherits all the functionality of a Windows window object plus additional OLE-specific functionality, such as event firing and the ability to support methods and properties.

CConnectionPoint

The CConnectionPoint class defines a special type of interface used to communicate with other OLE objects, called a “connection point.” A connection point implements an outgoing interface that is able to initiate actions on other objects, such as firing events and change notifications.

CPictureHolder

Encapsulates the functionality of a Windows picture object and the IPicture COM interface; used to implement the custom Picture property of an OLE control.

CFontHolder

Encapsulates the functionality of a Windows font object and the IFont COM interface; used to implement the stock Font property of an OLE control.

COlePropertyPage

Displays the properties of an OLE control in a graphical interface, similar to a dialog box.

CPropExchange

Supports the implementation of property persistence for your OLE controls. Analogous to CDataExchange for dialog boxes.

CMonikerFile

Takes a moniker, or a string representation that it can make into a moniker, and binds it synchronously to the stream for which the moniker is a name.

CAsyncMonikerFile

Works similarly to CMonikerFile; however, it binds the moniker asynchronously to the stream for which the moniker is a name.

CDataPathProperty

Implements an OLE control property that can be loaded asynchronously.

CCachedDataPathProperty

Implements an OLE control property transferred asynchronously and cached in a memory file.

COleCmdUI

Allows an Active document to receive commands that originate in its container's user interface (such as FileNew, Open, Print, and so on), and allows a container to receive commands that originate in the Active document's user interface.

COleSafeArray

Works with arrays of arbitrary type and dimension.