Windows2 인터페이스
Windows 컬렉션은 환경 내의 모든 창을 포함합니다.
네임스페이스: EnvDTE80
어셈블리: EnvDTE80(EnvDTE80.dll)
구문
‘선언
<GuidAttribute("31EFB5B1-C655-4ADA-BB52-3ED87FB2A4AE")> _
Public Interface Windows2 _
Inherits Windows
[GuidAttribute("31EFB5B1-C655-4ADA-BB52-3ED87FB2A4AE")]
public interface Windows2 : Windows
[GuidAttribute(L"31EFB5B1-C655-4ADA-BB52-3ED87FB2A4AE")]
public interface class Windows2 : Windows
[<GuidAttribute("31EFB5B1-C655-4ADA-BB52-3ED87FB2A4AE")>]
type Windows2 =
interface
interface Windows
end
public interface Windows2 extends Windows
Windows2 형식에서는 다음과 같은 멤버를 노출합니다.
속성
이름 | 설명 | |
---|---|---|
Count | Windows2 컬렉션의 개체 수를 나타내는 값을 가져옵니다. | |
DTE | 최상위 확장성 개체를 가져옵니다. | |
Parent | Windows2 컬렉션의 바로 위 부모 개체를 가져옵니다. |
위쪽
메서드
이름 | 설명 | |
---|---|---|
CreateLinkedWindowFrame | Window 개체를 만들고 이 개체에 창 두 개를 놓습니다. | |
CreateToolWindow | 지정한 Document 개체 또는 ActiveX 컨트롤을 포함하는 새 도구 창을 만듭니다. | |
CreateToolWindow2 | 새 도구 창을 만들고 사용자 정의 .NET 컨트롤을 이 창에 호스팅합니다. | |
GetEnumerator | 컬렉션의 항목에 대한 열거형을 가져옵니다. | |
Item | Windows 컬렉션의 인덱싱된 멤버를 반환합니다. |
위쪽
예제
이 예제에서는 출력 창, 명령 창 및 솔루션 탐색기를 함께 연결합니다. 그런 다음 연결된 이들 창의 너비와 높이를 조작하고 마지막으로 각 창을 연결된 창 프레임에서 모두 도킹 해제합니다.
이 예제를 추가 기능으로 실행하는 방법에 대한 자세한 내용은 방법: 자동화 개체 모델 코드의 예제 컴파일 및 실행을 참조하십시오.
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);
}