These articles explain the fundamentals of OLE programming using MFC. MFC provides the easiest way to write programs that use OLE:

  • To use OLE visual editing (in-place activation).

  • To work as OLE containers or servers.

  • To implement drag-and-drop functionality.

  • To work with date and time data.

  • To manage the state data of MFC modules, including exported DLL function entry points, OLE/COM interface entry points, and window procedure entry points.

You can also use Automation.


The term OLE denotes the technologies associated with linking and embedding, including OLE containers, OLE servers, OLE items, in-place activation (or visual editing), trackers, drag and drop, and menu merging. The term Active applies to the Component Object Model (COM) and COM-based objects such as ActiveX controls. OLE Automation is now called Automation.

In This Section

OLE Background
Discusses OLE and provides conceptual information about how it works.

Describes the role of activation in editing OLE items.

Provides links to using containers in OLE.

Data Objects and Data Sources
Provides links to topics discussing the use of the COleDataObject and COleDataSource classes.

Drag and Drop
Discusses using copying and pasting with OLE.

OLE Menus and Resources
Explains the use of menus and resources in MFC OLE document applications.

Discusses server installation and initialization.

Describes how to create OLE items (or components) for use by container applications.

Provides information about the CRectTracker class, which provides a graphical interface to enable users to interact with OLE client items.

Connection Points
Explains how to implement connection points (formerly known as OLE connection points) using the MFC classes CCmdTarget and CConnectionPoint.

Container/Server COM Components
Describes the steps necessary to incorporate optional advanced features into existing container applications.

The Component Object Model
Describes using OLE without MFC.

See also