Связанные окна

Оценить
(0 голоса)

Окна инструментов могут быть расположены внутри интегрированной среды различными способами: вы можете оставить окна инструментов плавающими в пределах общего контей­нера интегрированной среды, пристыковать окно инструмента к одной из сторон интегриро­ванной среды, объединять окна и прикреплять их и т. д. (введение по компоновке окон см. в разд. "Управление множеством окон в интегрированной среде разработки " главы 2).

Связанные окна— это два или более окон инструментов, которые сгруппированы вместе. На рис. 11.4 показан пример: панель Toolbox и окно Solution Explorer объединены в общей рамке. Каждое окно (которое является частью рамки) можно посмотреть при помощи нажа­тия на его вкладку.

Рис. 11.4. Объединенные окна

Путем объединения двух или более окон инструментов вы фактически создаете дополни­тельный оконный объект, называемый связанным окном или связанным фреймом, который работает как контейнер для находящихся в нем окон и доступен как часть коллекции DTE.Windows.

Связанные окна

При помощи использования свойств Window.LinkedWindows и Window.WindowFrame, а гакже метода Windows2 . CreateLinkedWindowFrame вы можете программно объединять и разъединять любые имеющиеся окна инструментов. Код на языке Visual Basic в листин­ге 11.8 демонстрирует этот процесс следующим образом:

1.   Вы получаете объекты окон для окна панели Toolbox и окна Solution Explorer.

2.   Вы программным путем объединяете эти два окна вместе, создавая по сути связанное окно (см. рис. 11.4).

3.   После объединения окон вы получаете ссылку на вновь созданное связанное окно и ис­пользуете его свойство LinkedWindows для разъединения окон.

Public Module MacroExamples

Public Sub LinkUnLink()

Dim windows"As Windows2 = DTE.Windows

' Получить ссылки на панель Toolbox и Solution Explorer Dim solExplorer As Window2 = _

windows.Item(Constants.vsWindowKindSolutionExplorer) Dim toolbox As Window2 = windows.Item(Constants.vsWindowKindToolbox)

' Использовать коллекцию Windows2 для создания рамки связанного окна ' (в которой будут содержаться окна панели Toolbox и Solution Explorer) Dim windowFrame As Window2

windowFrame = windows.CreateLinkedWindowFrame(solExplorer, _

toolbox, vsLinkedWindowType.vsLinkedWindowTypeTabbed)

' На данный момент мы создали связанное окно с двумя "внутренними"

' окнами со вкладками: Solution Explorer и панель Toolbox...

MessageBox.Show("Press OK to Unlink the windows", "LinkUnLink", _

MessageBoxButtons.OK, MessageBoxIcon.None)

' Для разъединения окон:

' — использовать коллекцию LinkedWindows связанного фрейма;

' — удалить объекты окон из этой коллекции.

windowFrame.LinkedWindows.Remove(toolbox) windowFrame.LinkedWindows.Remove(solExplorer)

End Sub

«

End Module

Панели команд
Документы
Текстовые документы
Редактирование текстовых документов
Добавление текста

Добавить комментарий


Защитный код
Обновить

© 2017 www.visualstudios.ru. Все права защищены.