VSConstants.VSSELELEMID Enumeration
Constants used in IVsSelectionEvents to indicate a new selection state. The selections may be propagated through OnElementValueChanged.
Assembly: Microsoft.VisualStudio.Shell.14.0 (in Microsoft.VisualStudio.Shell.14.0.dll)
| Member name | Description | |
|---|---|---|
| SEID_DocumentFrame | Visual Studio tracks this selection automatically so it cannot be set via OnElementValueChanged, but the value may be observed by calling GetCurrentElementValue | |
| SEID_LastWindowFrame | The value of SEID_WindowFrame before it received its current value. It is guaranteed to be different from SEID_WindowFrame unless both are empty. | |
| SEID_PropertyBrowserSID | IID_IUnknown of the active IVsPropertyBrowser. | |
| SEID_ResultList | IID_IUnknown of the active IOleCommandTarget for list navigation commands. | |
| SEID_StartupProject | IID_IUnknown of the active StartupProject. | |
| SEID_UndoManager | IID_IUnknown of the active IOleUndoManager object. | |
| SEID_UserContext | An event that indicates selection only by document windows that do not push selection context to the property browser. The alternative case is VSFPROPID_UserContext. | |
| SEID_WindowFrame | Visual Studio tracks this selection automatically so it cannot be set via OnElementValueChanged, but the value may be observed by calling GetCurrentElementValue |
If your code only needs to know when a window is activated, first implement the IVsSelectionEvents interface then query the shell for the selection monitoring service. This means: QueryService the shell for the service SID_SVsShellMonitorSelection and its interface IID_IVsMonitorSelection, retrieving IVsMonitorSelection. Next on that interface IVsMonitorSelection call AdviseSelectionEvents and send it a pointer to the IVsSelectionEvents handler that you implemented above. In your handler for the OnElementValueChanged call, look for elementid == SEID_WindowFrame or elementid == SEID_DocumentFrame. Test the varValueNew parameter for a pointer to the window frame you are looking for. The following describes the significance of the OnElementValueChanged values:
SEID_WindowFrame | Fires for both tool window and document window activation. |
SEID_DocumentFrame | Fires only for document window activation. |
To get more selection information implement the IVsWindowFrameNotify interface. In previous versions of Visual Studio only the object set as the VSFPROPID_ViewHelper object was available. Visual Studio contains the new interface IVsWindowFrame2 which allows multiple parties to subscribe to these events.
Note |
|---|
These element IDs are the only element IDs that can be used with the selection service. Do not attempt to pass any other element IDs. |
Note |
|---|
SEID_UserContext should be used only by document windows that do not push selection context to the property browser see VSFPROPID_UserContext for the alternative case. |
Note |
|---|
You can also use this mechanism to detect when you lose selection |
