Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ООП_ЛР3,4_A5_Часть2.doc
Скачиваний:
41
Добавлен:
08.11.2019
Размер:
557 Кб
Скачать
☆

Лабораторная работа № 4 Разработка приложений Windows. Приложения с однодокументным интерфейсом и модальными формами

1. Теоретическая часть

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

Разработка любого приложения начинается с выбора его формы. Форма является основным строительным блоком в Delphi. Любая программа имеет как минимум одну связанную с ней форму, кото­рая называется Главной, эта форма появляется на экране в момент запуска программы. Однако программа может иметь сколько угодно форм, каждая из которых решает какую-то локальную задачу и появляется на экране по мере надобности.

Разновидности форм определяются значениями их свойства FormStyle, а также разнообразием форм-заготовок, хранящихся в репозитории Delphi.

Стиль формы задается одним из значений свойства

TFormStyle = (fsNormal, fsMDIChild, fsMDIForm, fsStayOnTop);

property FormStyle: TFormStyle;

Стиль fsNormal определяет обычную форму, использующуюся для решения самых различных задач, в том числе - для общего управления всей программой (главная форма).

Стили fsMDIChild и fsMDIForm используются при создании так называемых многодокументных приложений в стиле MDI (MDI - Multi Document Interface). Этот немодный сегодня стиль предполага­ет создание главного окна MDI (его обычно называют рамочным), внутри которого по мере надобности появляются дочерние окна. Дочерние окна подобно дочерним элементам контейнера не могут выходить за границы своего владельца - рамочного окна. В MDI-приложениях есть специальные средства управления взаимодействи­ем рамочного окна с дочерними окнами. Например, каждое дочернее окно в момент активизации может нужным образом настроить главное меню рамочного окна. В Delphi для создания рамочного окна используется стиль fsMDIForm, а для создания дочернего MDI-окна - стиль fsMDIChild.

Стиль fsStayOnTop используется для окон, которые всегда должны располагаться над всеми другими окнами программы. В момент активизации окна оно обычно становится видимым на экране, даже если перед этим его загораживали другие раскрытые окна. Стиль fsStayOnTop препятствует перекрытию окна другими окнами, даже если оно становится неактивным и теряет фокус ввода. Этот стиль используется в исключительных случаях, когда окно содержит что-то, требующее повышенного внимания пользователя.

Случаи, когда нужно использовать модель MDI, довольно ред­ки. Прежде всего, это следует делать только тогда, когда все до­черние окна содержат идентичные объекты — например тексто­вые документы или электронные таблицы.

Не рекомендуется использовать MDI в случаях, если:

  • необходимо работать в приложении с дочерними окнами разного типа (например, текстовыми документами и электрон­ными таблицами одновременно);

  • нужно управлять тем, какое из дочерних окон должно находиться поверх других, используя свойство «всегда наверху»;

  • нужно управлять размерами окон, делать их невидимыми и т. п.

Интерфейс MDI предназначен для очень узкого множества приложений, в которых все дочерние окна однородны (как это имеет место, например, в Word или Excel прежних версий).

Современные многооконные приложения чаще всего строятся в однодокументном стиле SDI (SDI - Single Document Interface), который, в противополож­ность MDI, не накладывает ограничений на положение и размеры вспомогательных форм, каждая из которых при необходимости может иметь свое главное меню (в стиле SDI реализована, например, среда Delphi). Для создания форм в этом случае используется стиль fsNormal.

Этот интерфейс необязательно предполагает наличие действительно только одного окна, как в приложениях Windows, типа «Калькулятор». Например, такое приложение, как «Проводник» Windows, также является SDI-приложением, но в нужные моменты оно создает вторичные окна для поиска файлов или папок, зада­ния параметров, просмотра свойств файлов и других целей.

В репозитории Delphi, помимо универ­сальной пустой формы Form (страница New репозитория), хранится множество стандартных форм-заготовок, предназначенных для решения конкретных задач. Доступ к репозиторию открывает опция меню File|New|Other.