Freigeben über


_DTE.ActiveWindow-Eigenschaft

Gibt das derzeit aktive oder das oberste Fenster zurück, wenn kein anderes Fenster aktiv ist.

Namespace:  EnvDTE
Assembly:  EnvDTE (in EnvDTE.dll)

Syntax

'Declaration
ReadOnly Property ActiveWindow As Window
Window ActiveWindow { get; }
property Window^ ActiveWindow {
    Window^ get ();
}
abstract ActiveWindow : Window with get
function get ActiveWindow () : Window

Eigenschaftswert

Typ: EnvDTE.Window
Ein Window-Objekt.Gibt Nothing zurück, wenn keine Fenster geöffnet sind.

Hinweise

ActiveWindow gibt das aktive Fenster der Umgebung zurück.

Die Beschriftung kann nur für Toolfenster festgelegt werden. Wenn Sie versuchen, die Beschriftung für andere Fenstertypen festzulegen, wie zum Beispiel Dokumentfenster, wird der Fehler "Unbekannter Fehler" zurückgegeben.

Beispiele

Wichtig

Für Lesbarkeit enthält das folgende Codebeispiel nicht Sicherheitsüberprüfung oder schließt Fehlerbehandlung ab.Verwenden Sie den folgenden Code in einer Produktionsumgebung.

Sub ActiveWindowExample(ByVal dte As DTE2)

    ' Create two text files.
    Dim doc1 As Document = _
        dte.ItemOperations.NewFile(, "Document1").Document
    dte.ItemOperations.NewFile(, "Document2")

    MsgBox("The active window is " & dte.ActiveWindow.Caption)

    If MsgBox("Activate Document1?", MsgBoxStyle.YesNo) = _
        MsgBoxResult.Yes Then
        doc1.Activate()
    End If

    MsgBox("The active window is " & dte.ActiveWindow.Caption)

End Sub

Wichtig

Für Lesbarkeit enthält das folgende Codebeispiel nicht Sicherheitsüberprüfung oder schließt Fehlerbehandlung ab.Verwenden Sie den folgenden Code in einer Produktionsumgebung.

public void ActiveWindowExample(DTE2 dte)
{
    // Create two text files.
    Document doc1 = dte.ItemOperations.NewFile(@"General\Text File", 
        "Document1", Constants.vsViewKindPrimary).Document;
    dte.ItemOperations.NewFile(@"General\Text File", "Document2", 
        Constants.vsViewKindPrimary);

    MessageBox.Show("The active window is " + 
        dte.ActiveWindow.Caption);

    if (MessageBox.Show("Activate Document1?", "", 
        MessageBoxButtons.YesNo) == DialogResult.Yes)
        doc1.Activate();

    MessageBox.Show("The active window is " + 
        dte.ActiveWindow.Caption);
}

Wichtig

Für Lesbarkeit enthält das folgende Codebeispiel nicht Sicherheitsüberprüfung oder schließt Fehlerbehandlung ab.Verwenden Sie den folgenden Code in einer Produktionsumgebung.

STDMETHODIMP CConnect::ActiveWindowExample(DTE2 * pApplication)
{
CComPtr<ItemOperations> pItemOperations;
CComPtr<Document> pDocument;
CComPtr<Window> pDocWindow;
CComPtr<Window> pDoc1Window;
CComPtr<Window> pDoc2Window;
CComBSTR bstrDesc;
CComBSTR bstrDocWindow;
CComBSTR bstrFile1Name = "MyDocument1";
CComBSTR bstrFile2Name = "MyDocument2";
CComBSTR bstrFileItem = "General\\Text File";
VARIANT_BOOL bReadOnly = false; 
HRESULT hr = S_FALSE;

while (hr != S_OK && pApplication != nullptr)
{
// create two text files
pApplication->get_ItemOperations(&pItemOperations);
if (pItemOperations != nullptr) pItemOperations->NewFile(bstrFileItem,bstrFile1Name,_bstr_t(vsViewKindTextView),&pDoc1Window); else break;
if (pItemOperations != nullptr) pItemOperations->NewFile(bstrFileItem,bstrFile2Name,_bstr_t(vsViewKindTextView),&pDoc2Window); else break;

//get the current active window 
pApplication->get_ActiveWindow(&pDocWindow);
if (pDocWindow != nullptr) pDocWindow->get_Caption(&bstrDocWindow); else break;
bstrDesc.Append("The active window is ");
bstrDesc.Append(bstrDocWindow);
_bstr_t bstrIntermed = bstrDesc;
MessageBox(NULL,(LPCSTR) bstrIntermed,"Active Window Example",MB_OK);
bstrDesc = "";

pDocWindow = nullptr;
if (MessageBox(NULL,"Activate Document1?", "", MB_YESNO) == IDYES) pDoc1Window->Activate();
//get the current active window 
pApplication->get_ActiveWindow(&pDocWindow);
if (pDocWindow != nullptr) pDocWindow->get_Caption(&bstrDocWindow); else break;
bstrDesc.Append("The active window is ");
bstrDesc.Append(bstrDocWindow);
bstrIntermed = bstrDesc;
MessageBox(NULL,(LPCSTR) bstrIntermed,"Active Window Example",MB_OK);

hr = S_OK;
return hr;

}
return hr;
}

.NET Framework-Sicherheit

Siehe auch

Referenz

_DTE Schnittstelle

EnvDTE-Namespace

Weitere Ressourcen

Gewusst wie: Kompilieren und Ausführen der Codebeispiele für das Automatisierungsobjektmodell