Delphi. Разновидности форм

Как правило, любая современная программа имеет несколько связанных форм. Одна из них - главная (эта форма появляется в момент старта программы). Разновидности форм определяются значением свойства FormStyle:
  1. Стиль fsNormal определяет обычную форму, использующуюся для решения различных задач. Главная форма может иметь такой стиль.
  2. Стиль fsMDIChild.
  3. Cтиль fsMDIFormэ
  4. Стиль fsStayOnTop - данный стиль преднзначен для окон, которые всегда должны располагаться над всеми другими окнами программ. Этот стиль используется в исключетельных случаях, когда окно содержит что-то, требующее повышенного внимания пользователя.
 2,3 используются для создания MDI (Multi Document Interface)-приложений. Это стиль предполагает создание главного окна (его обычно называют рамочным), внутри которого по мере надобности появляются дочерние окна. Эти окна не могут выходить вне своего родителя - рамочного окна.
Современные многооконные приложения стоятся в стиле SDI (Single Document Interface), который не  накладывает ограничений на положение и размеры вспомогательных форм, каждая из которых при необходимости может иметь свое главное меню.

Создание и использование нескольких форм

File - New - Form
По умолчанию главной формой является Form1. Можно указать любую форму, окно которой станет главным. Для этого выбираем команду Project - Options. Из списка MainForm выбираем главную.
Каждое следующее окно будет появляться только после обращения к его методам Show() и ShowModal().
Главное окно обязательно должно знать о существовании другого окна, что достигается ссылкой в предложении uses (Например, uses Unit2).
Либо через главное меню: File - Use Unit.
После этого подключения можно открыть окно второй формы, командой Form2.Show().
Для переключения между формами используется команда ViewForm либо комбинация Shift + F12.
При вызове метода Show второе окно появляется на экране и работает одновременно с первым, поэтому управление передается сразу оператору, стоящему за обращением к этому методу. Такие окна называются  немодальными. 
ShowModal создает модальное окно, которое полностью берет на себя дальнейшее управление программой. Поэтому оператор за обращением к ShowModal вызывающей части программы получит управление только после закрытия модального окна. Модальные окна требуют от пользователя принятия какое-либо решения. В момент закрытия диалога модальное окно  должно поместить число, соответствующее решению пользователя в свое свойство - ModalResult. 
Некоторые стандартные кнопки: Yes, No, Cancell автоматически выполняют эти действия (помещают нужное число в ModalResult и автоматически закрывают окно).Вызывающая программа получает значения ModalResult, как значение функции ShowModal, которое можно проанализировать. 

Комментарии

Популярные сообщения