Window2 Interface
The Window object represents a window in the environment.
Namespace: EnvDTE80
Assembly: EnvDTE80 (in EnvDTE80.dll)
Syntax
'Declaration
<GuidAttribute("25731932-3283-4AE0-B7CF-F4691B8BE523")> _
Public Interface Window2 _
Inherits Window
[GuidAttribute("25731932-3283-4AE0-B7CF-F4691B8BE523")]
public interface Window2 : Window
[GuidAttribute(L"25731932-3283-4AE0-B7CF-F4691B8BE523")]
public interface class Window2 : Window
[<GuidAttribute("25731932-3283-4AE0-B7CF-F4691B8BE523")>]
type Window2 =
interface
interface Window
end
public interface Window2 extends Window
The Window2 type exposes the following members.
Properties
Name | Description | |
---|---|---|
AutoHides | Gets or sets whether the tool window is able to be hidden. | |
Caption | Gets or sets the title of the window. | |
Collection | Gets the collection containing the Window object supporting this property. | |
CommandBars | Gets a collection of Microsoft.VisualStudio.CommandBars contained in the current window. | |
ContextAttributes | Gets a ContextAttributes collection which allows automation clients to add new attributes to the current, selected items in the Dynamic Help window and provide contextual help for additional attributes. | |
Document | Gets the Document object associated with the item, if one exists. | |
DocumentData | Infrastructure. Microsoft Internal Use Only. | |
DTE | Gets the top-level extensibility object. | |
Height | Gets or sets a value indicating the dimensions of the window in pixels. | |
HWnd | Infrastructure. Microsoft Internal Use Only. | |
IsFloating | Gets or sets a value indicating whether the tool window floats over other windows. | |
Kind | Infrastructure. Microsoft Internal Use Only. | |
Left | Gets or sets the horizontal distance between the internal left edge of an object and the left edge of its container. | |
Linkable | Gets or sets a value indicating whether the tool window can be docked with other tool windows. | |
LinkedWindowFrame | Gets a Window object representing the window frame containing the window. | |
LinkedWindows | Gets a collection of all linked windows contained in the linked window frame. | |
Object | Gets an object that can be accessed by name at run time. | |
ObjectKind | Gets the type of the Window.Object object, which is a GUID string representing the tool contained in the window. | |
Project | Gets the Project object associated with the Window object. | |
ProjectItem | Gets the ProjectItem object associated with the Window object. | |
Selection | Gets an object representing the current selection on the Window object. | |
Top | Gets or sets the vertical distance between the internal top edge of an object and the top edge of its container. | |
Type | Infrastructure. Microsoft Internal Use Only. | |
Visible | Gets or sets the visibility of a window. | |
Width | Gets or sets the width of the window in character units. | |
WindowState | Gets or sets the state of the window, whether it is minimized, normal, and so forth. |
Top
Methods
Name | Description | |
---|---|---|
Activate | Moves the focus to the current item. | |
Attach | Infrastructure. Microsoft Internal Use Only. | |
Close | Closes the open document and optionally saves it, or closes and destroys the window. | |
Detach | Infrastructure. Microsoft Internal Use Only. | |
SetFocus | Infrastructure. Microsoft Internal Use Only. | |
SetKind | Infrastructure. Microsoft Internal Use Only. | |
SetSelectionContainer | Allows setting objects to be active in the Properties Window when this window is active. | |
SetTabPicture | Loads a bitmap into a tabbed picture on a tab-linked tool window. |
Top
Examples
This example links together the Output Window, the Command Window, and Solution Explorer. It then manipulates the width and height of these linked windows, and it finally undocks them all from the linked window frame.
For more information on how to run this example as an add-in, see How to: Compile and Run the Automation Object Model Code Examples.
Imports EnvDTE
Imports EnvDTE80
Public Sub OnConnection(ByVal application As Object, _
ByVal connectMode As ext_ConnectMode, ByVal addInInst As Object, _
ByRef custom As Array) Implements IDTExtensibility2.OnConnection
_applicationObject = CType(application, DTE2)
_addInInstance = CType(addInInst, AddIn)
LinkedWindowsExample(_applicationObject)
End Sub
Sub LinkedWindowsExample(ByVal dte As DTE2)
Dim Frame As Window2
Dim wins As Windows2
wins = CType(_applicationObject.Windows, EnvDTE80.Windows2)
Dim w1 As Window2 = _
CType(_applicationObject.Windows.Item _
(Constants.vsWindowKindSolutionExplorer), EnvDTE80.Window2)
Dim w2 As Window2 = _
CType(_applicationObject.Windows.Item _
(Constants.vsWindowKindOutput), EnvDTE80.Window2)
Dim w3 As Window2 = _
CType(_applicationObject.Windows.Item _
(Constants.vsWindowKindCommandWindow), EnvDTE80.Window2)
' Create a linked window frame and dock Solution Explorer
' and the Ouput window together inside it.
Frame = CType(wins.CreateLinkedWindowFrame _
(w1, w2, vsLinkedWindowType.vsLinkedWindowTypeDocked), _
EnvDTE80.Window2)
MsgBox("Total number of windows in the linked window frame: " _
& Frame.LinkedWindows.Count)
' Add another tool window, the Command window, to the frame with
' the other two.
Frame.LinkedWindows.Add(w3)
MsgBox("Total number of windows in the linked window frame: " _
& Frame.LinkedWindows.Count)
' Resize the entire linked window frame.
Frame.Width = 500
Frame.Height = 600
MsgBox("Frame height and width changed. Now changing _
Command window height.")
' Resize the height of the Command window.
Frame.LinkedWindows.Item(3).Height = 800
MsgBox("Now undocking the Command window from the frame.")
' Undock the Command window from the frame.
Frame.LinkedWindows.Remove(w3)
MsgBox("Now undocking the rest of the windows from the frame.")
Frame.LinkedWindows.Remove(w2)
Frame.LinkedWindows.Remove(w1)
End Sub
using EnvDTE;
using EnvDTE80;
using System.Windows.Forms;
public void OnConnection(object application, ext_ConnectMode
connectMode, object addInInst, ref Array custom)
{
_applicationObject = (DTE2)application;
_addInInstance = (AddIn)addInInst;
LinkedWindowsExample(_applicationObject);
}
public void LinkedWindowsExample(DTE2 dte)
{
Window2 Frame;
Windows2 wins;
wins = (EnvDTE80.Windows2)_applicationObject.Windows;
Window2 w1 =
(EnvDTE80.Window2)_applicationObject.Windows.Item
(Constants.vsWindowKindSolutionExplorer);
Window2 w2 =
(EnvDTE80.Window2)_applicationObject.Windows.Item
(Constants.vsWindowKindOutput);
Window2 w3 =
(EnvDTE80.Window2)_applicationObject.Windows.Item
(Constants.vsWindowKindCommandWindow);
// Create a linked window frame and dock Solution Explorer
// and the Output window together inside it.
Frame = (EnvDTE80.Window2)wins.CreateLinkedWindowFrame
(w1, w2, vsLinkedWindowType.vsLinkedWindowTypeDocked);
MessageBox.Show("Total number of windows in the linked
window frame: " + Frame.LinkedWindows.Count);
// Add another tool window, the Command window, to the frame with
// the other two.
Frame.LinkedWindows.Add(w3);
MessageBox.Show("Total number of windows in the linked
window frame: " + Frame.LinkedWindows.Count);
// Resize the entire linked window frame.
Frame.Width = 500;
Frame.Height = 600;
MessageBox.Show("Frame height and width changed.
Now changing Command window height.");
// Resize the height of the Command window.
Frame.LinkedWindows.Item(3).Height = 800;
MessageBox.Show("Now undocking the Command window from
the frame.");
// Undock the Command window from the frame.
Frame.LinkedWindows.Remove(w3);
MessageBox.Show("Now undocking the rest of the windows
from the frame.");
Frame.LinkedWindows.Remove(w2);
Frame.LinkedWindows.Remove(w1);
}