9. MDI-интерфейс

E-mail Печать PDF
Рейтинг пользователей: / 0
ХудшийЛучший 

MDI/ MDI

 
MDI-интерфейс

 

Пользовательский интерфейс, как правило, бывает одного из двух видов:

1.     SDI (Single Document Interface) - однодокументный интерфейс. Все формы приложения равны между собой.

2.     MDI (Multiple Document Interface) - многодокументный интерфейс. В приложении имеется одно родительское окно (контейнер), а также одно или несколько дочерних окон. Все дочерние окна имеют общую панель инструментов и главное меню, которое отображается в родительском окне. Примеры MDI-приложений - Excel, Word и т.д.

Стандарт MDI позволяет совершенствовать программы в двух направлениях:

  • возможность ограничиться одной формой-контейнером, которая станет рабочим фоном приложения;
  • возможность одновременно работать с несколькими документами.

 

Характеристики родительских MDI-форм:

  • Приложение может иметь только одну MDI-форму.
  • Родительское и дочерние окна представлены в Windows одной пиктограммой. Если родительское окно минимизируется, а затем восстанавливается, восстанавливаются все дочерние окна.
  • Родительское и дочерние окна могут иметь свои меню. Определенное для дочерней формы меню отображается в строке меню родительской формы. Определенное для родительской формы меню не появляется вообще, если активная дочерняя форма имеет собственное меню.

 

Характеристики дочерних MDI-форм:

  • Каждая дочерняя форма располагается во внутренней части родительского окна. Ее нельзя переместить за границы родительской формы.
  • Когда минимизируется дочернее окно, его пиктограмма появляется в родительском окне, а не на панели задач Windows.
  • Когда максимизируется дочерняя форма, она заполняет все внутреннее окно родительской формы. В строке заголовка родительской формы указывается название родительской формы и дочерней.
  • Когда максимизируется одна дочерняя форма, максимизируются все остальные дочерние формы.

 

Для создания приложений с MDI интерфейсом необходимо создать родительскую форму, для чего значение свойства IsMDIContainer должно быть True. Окно становится о как бы «вдавленным», а цвет фона темно-серым.

После чего создаются экземпляры дочерних форм (один или несколько). Для каждой из дочерних форм значение свойства MdiParent устанавливается так, чтобы оно указывало на родительскую форму.

Любая MDI-форма имеет свойство-массив MdiChildren, который содержит все дочерние окна.

Для создания нового экземпляра дочерней формы MyChild1 можно использовать:

Dim MyChildForm1 As New MyChild1()

' Устанавливаем свойство MdiParent на форму MyMDIParent (текущую)

MyChildForm1.MdiParent = Me

' Отображаем дочернюю форму

MyChildForm1.Show()

Чтобы оповестить родительскую форму об активизации дочернего окна, используется события mdiChildActivate. Активизируемое окно определяется при помощи свойства ActiveMdiChild класса Form.

Пример: в строке состояния родительской формы выводится содержимого заголовка дочернего окна:

Protected Sub MdiChildActivated(sender As object, e As System.EventArgs)

If (Me.ActiveMdiChild<>Nothing) Then statusBar1.Text=Me.ActiveMdiChild.Text

End If

End Sub

Чтобы облегчить способ доступа к дочерним окнам приложения, можно создать список открытых дочерних окон. Автоматическая поддержка списка дочерних окон включается во время создания меню родительской MDI-формы. Для этого необходимо свойству MdiList пункта меню установить значение True.

 

 

 

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

Ваше имя (псевдоним):
Ваш адрес почты:
Заголовок:
Комментарий:

Комментарии

Интересное




Похожие материалы

Партнёры