_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 安全性
- 对直接调用方的完全信任。此成员不能由部分信任的代码使用。有关详细信息,请参阅通过部分受信任的代码使用库。