IOleInPlaceComponent Interface

Allows in-place VSPackage objects to operate as a fully integrated component of the environment by using the SOleComponentUIManager service.

Namespace:  Microsoft.VisualStudio.Shell.Interop
Assembly:  Microsoft.VisualStudio.Shell.Interop (in Microsoft.VisualStudio.Shell.Interop.dll)

Syntax

'Declaration
<GuidAttribute("5EFC7970-14BC-11CF-9B2B-00AA00573819")> _
<InterfaceTypeAttribute()> _
Public Interface IOleInPlaceComponent
[GuidAttribute("5EFC7970-14BC-11CF-9B2B-00AA00573819")]
[InterfaceTypeAttribute()]
public interface IOleInPlaceComponent
[GuidAttribute(L"5EFC7970-14BC-11CF-9B2B-00AA00573819")]
[InterfaceTypeAttribute()]
public interface class IOleInPlaceComponent
[<GuidAttribute("5EFC7970-14BC-11CF-9B2B-00AA00573819")>]
[<InterfaceTypeAttribute()>]
type IOleInPlaceComponent =  interface end
public interface IOleInPlaceComponent

The IOleInPlaceComponent type exposes the following members.

Methods

  Name Description
Public method FDoIdle Queries an in-place VSPackage about its need to perform idle time tasks.
Public method FQueryClose Queries an in-place VSPackage object to determine whether or not the object can terminate.
Public method GetCntrContextMenu Allows an in-place VSPackage object assuming the role of main component to override the context menu requested by an object assuming the subcomponent or component control role.
Public method GetCntrHelp Allows an in-place VSPackage object assuming the main component role to override the help topic requested by an object assuming the subcomponent or component control role.
Public method GetCntrMessage Allows an in-place VSPackage object assuming the main component role to override a message belonging to an object assuming the subcomponent or component control role.
Public method OnEnterState Informs an in-place VSPackage object that the environment has entered or left a state.
Public method OnWindowActivate Informs an in-place VSPackage object of important window activation events.
Public method TranslateCntrAccelerator Requests that an in-place VSPackage object translate a command accelerator.
Public method UseComponentUIManager Informs an in-place object of its role in the environment, providing pointers to the IOleComponentUIManager and IOleInPlaceComponentSite interfaces.

Top

Remarks

The SOleComponentUIManager service is an alternative to the traditional OLE in-place activation. Rather than require the in-place object to participate in menu merging, this service integrates the menus, toolbars, and commands of the object into the environment and issues notifications of state changes. Allows in-place VSPackage objects to operate as a fully integrated component of the environment by using the SOleComponentUIManager service. The T:Microsoft.VisualStudio.Shell.Interop.SOleComponentUIManager service is an alternative to the traditional OLE in-place activation. Rather than require the in-place object to participate in menu merging, this service integrates the menus, toolbars, and commands of the object into the environment and issues notifications of state changes.

Notes to Implementers

VSPackages implement IOleInPlaceComponent if they support an in-place object with UI elements that should be integrated into the environment's user interface. IOleInPlaceComponent is also implemented if the VSPackage wants to participate in handling the in-place object's commands when it activates.

In-place VSPackage objects that implement IOleInPlaceComponent also implement IOleInPlaceObject, IOleInPlaceActiveObject and IOleCommandTarget. To initiate use of the SOleComponentUIManager services, an in-place object calls IOleInPlaceActiveObject when it activates.

Notes to Callers

The environment's SOleComponentUIManager service makes calls to an in-place VSPackage object's IOleInPlaceComponent interface to communicate state changes and allow the object to handle commands. The environment calls an in-place object's QueryInterface method using the IOleInPlaceObject interface to receive an IOleInPlaceComponent pointer.

See Also

Reference

Microsoft.VisualStudio.Shell.Interop Namespace