Справочник по компонентам Delphi. Часть 3
Страница 7. Форма (TForm)


 

Форма (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.

 
« Предыдущая статья   Следующая статья »