共用方式為


_DTE.ActiveWindow Property

Definition

Returns the currently active window, or the top-most window if no others are active.

public:
 property EnvDTE::Window ^ ActiveWindow { EnvDTE::Window ^ get(); };
public:
 property EnvDTE::Window ^ ActiveWindow { EnvDTE::Window ^ get(); };
[System.Runtime.InteropServices.DispId(205)]
public EnvDTE.Window ActiveWindow { [System.Runtime.InteropServices.DispId(205)] get; }
[<System.Runtime.InteropServices.DispId(205)>]
[<get: System.Runtime.InteropServices.DispId(205)>]
member this.ActiveWindow : EnvDTE.Window
Public ReadOnly Property ActiveWindow As Window

Property Value

A Window object. Returns Nothing if no windows are open.

Attributes

Examples

Important

For readability, the following code example does not contain security checking or complete error handling. Do not use the following code in a production environment.

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  

Important

For readability, the following code example does not contain security checking or complete error handling. Do not use the following code in a production environment.

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);  
}  

Important

For readability, the following code example does not contain security checking or complete error handling. Do not use the following code in a production environment.

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;  
}  

Remarks

ActiveWindow returns the environment's active window.

You can set the caption only on Tool windows. If you attempt to set the caption on other window types, such as Document windows, you get the error, "Unspecified error."

Applies to