# IOleControlSite

The IOleControlSite interface provides the methods that enable a site object to manage each embedded control within a container. A site object provides IOleControlSite as well as other site interfaces such as IOleClientSite and IOleInPlaceSite. When a control requires the services expressed through this interface, it will query one of the other client site interfaces for IOleControlSite.

##### When to Implement

Implement this interface on an in-place capable site object to support the embedding of controls in the site.

##### When to Use

A control uses this interface to work with a control-aware container.

Methods in Vtable Order

IUnknown Methods | Description
QueryInterface | Returns pointers to supported interfaces.
AddRef | Increments reference count.
Release | Decrements reference count.

IOleControlSite Methods | Description
OnControlInfoChanged | Informs the container that the control’s CONTROLINFO structure has changed and that the container should call the control’s IOleControl::GetControlInfo for an update.
LockInPlaceActive | Indicates whether or not this control should remain in-place active, regardless of possible deactivation events.
GetExtendedControl | Requests an IDispatch pointer to the extended control that the container uses to wrap the real control.
TransformCoords | Converts between a POINTL structure expressed in HIMETRIC units (as is standard in OLE) and a POINTF structure expressed in units the container specifies.
TranslateAccelerator | Instructs the container to process a specified keystroke.
OnFocus | Indicates whether the embedded control in this control site has gained or lost the focus.
ShowPropertyFrame | Instructs the container to show a property page frame for the control object if the container so desires.

See Also

IOleControl, ISimpleFrameSite