- •Глава 4. Базовые компоненты интерфейса
- •4.1. Компонент форма
- •4.1.1. Основные свойства формы
- •4.1.2. Разновидности форм
- •4.1.3. События формы
- •4.1.4. Методы формы
- •4.2. Создание пиктограммы для приложения
- •4.3. Общие свойства и события визуальных компонентов
- •4.3.1. Иерархия классов Delphi
- •4.3.1. Ключевые свойства элементов управления
- •4.3.2. Виды событий для элементов управления
- •4.4. Определение принадлежности к классу и приведение типов
- •4.5. Компоненты для отображения текста
- •4.5.1. Компонент метка Label
- •4.5.2. Компонент текстовая метка StaticText
- •4.6. Кнопки
- •4.6.1. Стандартная кнопка Button
- •4.6.2. Кнопка с рисунком BitBtn
- •4.6.3. Кнопка с фиксацией SpeedButton
- •4.7. Image – компонент для работы с изображениями
- •Image1.Picture.LoadFromFile('картинка.Bmp);
- •Interface
- •Implementation
- •Interface
- •Implementation
- •4.8. Поддержка справочной службы - всплывающие подсказки
- •Контрольные вопросы
- •Лабораторная работа
4.1.2. Разновидности форм
Форма может быть модальной и немодальной. Немодальная форма позволяет переключиться в другую форму приложения без своего закрытия. Модальная форма требует обязательного закрытия перед обращением к любой другой форме приложения. Для того чтобы показать на экране ранее созданную форму, можно применить один из следующих методов: Имя_формы.Show или Имя_формы.ShowModal. Метод Show вызывает форму в немодальном режиме, а метод ShowModal вызывает форму в модальном режиме и возвращает результат диалога с пользователем. Модальная форма полностью берет на себя дальнейшее управление программой, поэтому оператор, следующий за вызовом ShowModal, получит управление только после ее закрытия.
Форма может быть видимой и невидимой. Невидимая форма лишь не отображается на экране, но она присутствует в динамической памяти, сохраняет все свои параметры и при необходимости может быть выведена на экран. Закрытая форма удаляется из памяти, а для повторного ее появления ее заново следует создать.
Разновидности форм определяются значениями свойства FormStyle. Это свойство определяет, какой пользовательский интерфейс будет использован: Multiple Document Interface (MDI) – многодокументный или Single Document Interface (SDI) – однодокументный.
Если применяется SDI-интерфейс, то каждая форма (даже если их несколько) существует в виде отдельного независимого окна. Одно из окон является главным, но не содержит других окон. В SDI приложении все формы имеют в свойстве FormStyle значение fsNormal. Иногда устанавливается значение fsStayOnTop, чтобы окно всегда располагалось поверх других окон. Примером приложений, использующих SDI-интерфейс, являются Блокнот, Paint.
MDI-интерфейс предполагает использование родительского окна, которое включает одно или несколько дочерних окон. Дочерние окна ограничены областью родительского окна и не могут выходить за его пределы, ими можно управлять из главного окна. Примером приложений, использующих MDI-интерфейс, являются MS Word, Excel.
Для создания многооконного варианта проекта главной форме свойству FormStyle следует задать значение fsMDIForm (многодокументная форма), а у всех остальных форм это свойство должно быть в значении fsMDIChild (подчиненная форма). Многооконный вариант проекта можно создать, выбрав на вкладке Projects диалогового окна New Items, вызываемого командой меню File/New/Other, вариант MDI Application (рис. 4.1).
Рис. 4.1. Вкладка Projects диалогового окна New Items
При использовании имеющегося в Delphi варианта MDI приложения для него уже будут заданы: главное меню (с командами создания, открытия и сохранения файла, операциями по использованию буфера обмена), панель инструментов, строка состояния (рис. 4.2). После запуска Delphi по умолчанию создается однооконный вариант проекта, к которому затем при необходимости можно добавить дополнительные формы с помощью, например, опции File/New/Form. |
Рис. 4.2. Вариант имеющейся в Delphi MDI-формы |