Страница 7 из 42 Форма (TForm) Последним в этом разделе будет рассмотрен самый важный, особый компонент — форма. Форма в Delphi — это синоним окна. В библиотеках для Windows (MFC, OWL) существуют отдельные классы для каждой важной разновидности окон — диалогового окна, клиентских и дочерних окон MDI и так далее. Разработчики VCL пошли по новому пути, объединив в одном классе свойства и методы всех этих разновидностей. Специализация при этом все равно осталась — она определяется свойством: (РЬ) property FormStyle: TFormStyle; TFormStyle = [fsNoririal, fsMDIChild, fsMDIForm, fsStayOnTop) ; fsNormal — обычное окно; fsMDIChild — дочернее окно приложения MDI; fsMDIForm — главное окно MDI; fsStayOnTop — окно, остающееся поверх других даже в неактивном состоянии. (В данном случае это касается только других окон приложения). Такая разновидность, как диалоговое окно, не имеет собственного стиля. Каким образом реализуются его особенности, описано ниже. У TForm есть методы, которые имеют смысл только для некоторых из стилей FormStyle. Рассмотрим сначала общие свойства и методы формы, а затем — специфические. Набор пиктограмм в заголовке окна описывается свойством: (РЬ) property Borderlcons: TBorderIcons; TBorderIcon = (biSystemMenu, biMiniinize, biMaximize); TBorderIcons = set of TBorderIcon; По умолчанию у обычной формы имеются все три пиктограммы — для вызова системного меню, разворачивания и сворачивают окна. Обрамление формы задается свойством: (Pb) property BorderStyle: TFormBorderStyle ; TFormBorderStyle = (bsNone, bsSingle, bsSizeable, bsDialog); Помимо двух стандартных стилей обрамления (bsNone и bsSingle) у формы есть еще два своих типа (bsSizeable и bsDialog). Эти возможности стандартны для Windows. Особенности реализации здесь заключаются в том, что стиль обрамления может изменяться в процессе выполнения программы. Каждое окно может находиться в одном из состояний — нормальном, свернутом (минимизированном) и развернутом (максимизированном), что определяется свойством: (рта property WindowState: TWindowState; TWindowState = [wsNormal, wsMinimized, wsMaximized); Значение этого свойства можно изменить как на этапе разработки, так и во время исполнения. Окно в свернутом состоянии на экране отображается значком формы, который задается в свойстве: (Pb) property Icon: TIcon; Значок главной формы приложения идентифицирует само приложение в TaskManager Windows 3.11 и Windows NT или TaskBar Windows 95. Если он не определен, то используется значок приложения (объекта Application). Каждая форма может иметь главное и всплывающее меню. Главное меню определяется свойством: (РЬ| property Menu: TMainMenu; Оно может быть у каждой формы (и только у формы). Для того чтобы не возникало путаницы с несколькими одновременно видимыми меню в одном приложении, у компонентов TMainMenu предусмотрена возможность объединения в одном. Всплывающее меню формы представлено свойством: (Pb) property PopupMenu: TPopupMenu; Форма может содержать объекты OLE. Для этого она должна быть зарегистрирована в качестве их приемника. Свойство property DropTarget: Boolean; устанавливает, может ли форма быть приемником объектов OLE. Для размещения подменю возможностей сервера OLE можно выделить отдельный пункт: (Pb) property ObjectMenuItem: TMenuItem; Этот пункт будет активизироваться при получении фокуса компонентом TOLEContainer. |