_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
- Полное доверие для непосредственно вызывающего метода. Этот член не может быть использован частично доверенным кодом. Для получения дополнительной информации см. Использование библиотек из не вполне надежного кода.
См. также
Ссылки
Другие ресурсы
Практическое руководство. Компиляция и выполнение примеров кода модели объектов автоматизации