_DTE.ActiveWindow 屬性
傳回目前的使用中視窗;如果沒有其他視窗是作用中,則傳回最上層視窗。
命名空間: EnvDTE
組件: EnvDTE (在 EnvDTE.dll 中)
語法
'宣告
ReadOnly Property ActiveWindow As Window
Window ActiveWindow { get; }
property Window^ ActiveWindow {
Window^ get ();
}
abstract ActiveWindow : Window with get
function get ActiveWindow () : Window
屬性值
類型:EnvDTE.Window
Window 物件。如果沒有開啟任何視窗,傳回 Nothing。
備註
ActiveWindow 傳回環境的使用中視窗。
您只能設定 [工具] 視窗上的標題。 如果您嘗試設定其他類型視窗的標題,例如 [文件] 視窗,則會發生「未指定的錯誤」。
範例
重要
對於可讀性,下列程式碼範例不包含安全性檢查或完整的錯誤處理。不要使用下列程式碼在實際執行環境。
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
重要
對於可讀性,下列程式碼範例不包含安全性檢查或完整的錯誤處理。不要使用下列程式碼在實際執行環境。
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);
}
重要
對於可讀性,下列程式碼範例不包含安全性檢查或完整的錯誤處理。不要使用下列程式碼在實際執行環境。
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 安全性
- 完全信任立即呼叫者。這個成員無法供部分信任的程式碼使用。如需詳細資訊,請參閱從部分受信任程式碼使用程式庫。