# IOleInPlaceSite

The IOleInPlaceSite interface manages interaction between the container and the object’s in-place client site. Recall that the client site is the display site for embedded objects, and provides position and conceptual information about the object.

This interface provides methods that manage in-place objects. With IOleInPlaceSite, you can determine if an object can be activated and manage its activation and deactivation. You can notify the container when one of its objects is being activated and inform the container that a composite menu will replace the container’s regular menu. It provides methods that make it possible for the in-place object to retrieve the window object hierarchy, and the position in the parent window where the object should place its in-place activation window. Finally, it determines how the container scrolls the object, manages the object undo state, and notifies the object when its borders have changed.

##### When to Implement

You must implement this interface if you are writing a container application that will participate in in-place activation.

##### When to Use

Use this interface to allow your object to control in-place activation from within the container.

The IOleInPlaceSite interface pointer is obtained by calling QueryInterface on the object’s IOleClientSite interface.

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.

IOleInPlaceSite Methods | Description
CanInPlaceActivate | Determines if the container can activate the object in place.
OnInPlaceActivate | Notifies the container that one of its objects is being activated in place.
OnUIActivate | Notifies the container that the object is about to be activated in place, and that the main menu will be replaced by a composite menu.
GetWindowContext | Enables an in-place object to retrieve window interfaces that form at the window object hierarchy, and the position in the parent window to locate the object’s in-place activation window.
Scroll | Specifies the number of pixels by which the container is to scroll the object.
OnUIDeactivate | Notifies the container to reinstall its user interface and take focus.
OnInPlaceDeactivate | Notifies the container that the object is no longer active in place.
DiscardUndoState | Instructs the container to discard its undo state.
DeactivateAndUndo | Deactivate the object and revert to undo state.
OnPosRectChange | Object’s extents have changed.

See Also

IOleWindow, IOleClientSite