# IOleWindow

The IOleWindow interface provides methods that allow an application to obtain the handle to the various windows that participate in in-place activation, and also to enter and exit context-sensitive help mode.

Several other in-place activation interfaces are derived from the IOleWindow interface. Containers and objects must implement and use these interfaces in order to support in-place activation. The following table briefly summarizes each of these interfaces:

IOleWindow | The base interface. Implemented and used by containers and objects to obtain window handles and manage context-sensitive help.
IOleInPlaceObject | Implemented by objects and used by an object’s immediate container to activate and deactivate the object.
IOleInPlaceActiveObject | Implemented by objects and used by the top-level container to manipulate the object while it is active. Provides a direct channel of communication between an active object and its frame and document windows.
IOleInPlaceUIWindow | Implemented by containers and used by objects to manipulate the container’s document window.
IOleInPlaceFrame | Implemented by containers and used by objects to control the container’s frame window.
IOleInPlaceSite | Implemented by containers and used by objects to interact with the in-place client site.
IOleInPlaceSiteEx | Implemented by containers and called by objects to optimize activation and deactivation.
IOleInPlaceSiteWIndowless | Implemented by containers and called by windowless object to obtain services from its container.
IOleInPlaceObjectWindowless | Implemented by windowless objects called by containers to support window message processing and drag and drop operations for windowless objects.

These interfaces can be arranged in three hierarchical levels with various interfaces implemented at each level. Calls that install user-interface menus commands and frame adornments, activate and switch between windows, and dispatch menu and keystrokes take place between the top-level container and the active object. Calls that support activating, deactivating, scrolling, or clipping span the containment hierarchy, with each level performing the correct actions.

##### When to Implement

The inherited methods of this interface are implemented by all in-place objects and containers.

##### When to Use

Use this interface to obtain the window handle to the windows associated with in-place activation (frame, document, parent, and in-place object). It is also used to enter and exit context-sensitive help.

Methods in VTable Order

IUnknown Methods | Description
QueryInterface | Returns a pointer to a specified interface.
AddRef | Increments the reference count.
Release | Decrements the reference count.

IOleWindow Methods | Description
GetWindow | Gets a window handle.
ContextSensitiveHelp | Controls enabling of context-sensitive help.

See Also

IOleInPlaceObject, IOleInPlaceActiveObject, IOleInPlaceUIWindow, IOleInPlaceFrame, IOleInPlaceSite, OleCreateMenuDescriptor, OleDestroyMenuDescriptor, OleTranslateAccelerator, IOleInPlaceSiteEx, IOleInPlaceSiteWIndowless, IOleInPlaceObjectWindowless