Форма и ее свойства
Форма – важнейший визуальный компонент, видимое окно приложения в Delphi. На форме размещаются компоненты Delphi. Форму называют контейнером.
Форма представлена компонентом Form класса TForm.
Создание приложения начинается с автоматического создания пустой формы Form1.
Любое приложение имеет несколько форм, одна из которых является главной и отображается при запуске программы, и при закрытии которой закрывается приложение.
Форма может быть модальной и немодальной.
Модальная требует своего закрытия перед обращением к другой форме приложения.
Немодальная позволяет переключаться на другую форму без своего закрытия.
Характеристики формы
Положение и размеры формы (в пикселях) определяются четырьмя свойствами:
property Height: Integer;
property Left: Integer;
property Top: Integer;
property Width: Integer;
Height и Width определяют высоту и ширину формы соответственно. Left и Top определяют положение левой верхней кромки формы на экране.
Замечание: данные свойства есть у всех видимых компонентов, но Left и Top, в отличие от формы, определяются относительно пространства родительского компонента (т.е. компонента, в котором размещен рассматриваемый элемент).
Видимость формы задается с помощью свойства Visible.
property Visible: Boolean;
Если Visible имеет значение true, то форма видна на экране, в противном случае – не видна.
Замечание: данное свойство есть почти у всех видимых компонентов.
Видимостью формы также можно управлять с помощью следующих методов:
procedure Hide;
procedure Show;
function ShowModal: Integer;
Hide – скрывает форму, Visible становится равным false.
Show – отображает форму в немодальном режиме, Visible устанавливается в true, форма переводится на передний план, передает ее фокус ввода;
ShowModal – отображает форму в модальном режиме, Visible устанавливается в true, форма переводится на передний план, передает ее фокус ввода, который может быть передан другой форме только в случае закрытия текущей.
Пример. Процедура показывает Form2, Form3 при нажатии на кнопку BtnShowForms в Form1:
procedure TForm1.BtnShowFormsClick(Sender: TObject);
Begin
Form2.Visible := true;
Form3.Show;
End;
Пример. Процедура скрывает Form2, Form3 при нажатии на кнопку BtnHideForms в Form1:
procedure TForm1.btnHideFormsClick(Sender:TObject);
Begin
Form2.Visible:=False;
Form3.Hide;
End;
При создании и использовании формы происходят события:
OnCreate – событие, происходящее при создании формы;
OnShow – событие, происходящее при показе формы
OnResize – событие, происходящие при изменении размера формы;
OnActivate – событие, происходящее получении формой фокуса ввода;
OnPaint – событие, происходящее при перерисовке формы.
Для закрытия формы используется метод Close, который делает форму невидимой, но не разрушает экземпляр. Поэтому форма может снова появиться на экране при использовании методов Show, ShowModal.
procedure Close;
Уничтожение формы происходит по методу Free.
procedure Free;
Необходимость уничтожения возникает в случае экономии ОП, когда можно уничтожить, например, форму – заставку, занимающую много памяти.
procedure TForm3.btnDestroyClick (Sender:TObject);
Begin
Form3.Free;
End;
Свойства формы.
Заголовок формы (пишется в левой верхней части окна) задается с помощью свойства Caption.
property Caption: TCaption;
Цвет формы задается с помощью свойства Color.
property Color: TColor;
Цвет можно выбрать из списка в инспекторе объектов (или присвоить свойству соответствующее значение в коде программы). Константа значения цвета имеет вид clXX* где XX* - соответствующее название цвета. Например, clBlue или clRed.
Свойство Cursor определяет графический вид курсора, когда он находится над формой.
property Cursor: TCursor;
Вид курсора можно выбрать из списка в инспекторе объектов (или присвоить свойству соответствующее значение в коде программы). Константа значения курсора имеет вид crXX* где XX* - соответствующее название курсора. Например, crArrow (обычный курсор-стрелка) или crHourGlass (песочные часы).
Свойство BorderIcons (тип TBorderIcons) определяет возможность изображения 4 – х кнопок.
property BorderIcons: TBorderIcons;
С помощью данного свойства можно скрывать или показывать следующие кнопки:
biSystemMenu –кнопка системного меню,
biMinimize – кнопка свертывания,
biMaximize – кнопка восстановления,
biHelp – кнопка справки для вызова контекстно-ориентированной справки.
Если отсутствует кнопка системного меню, то ни одна кнопка не отображается.
Если есть кнопки Minimize/Maximize, то кнопка Help не отображается.
Свойства Hint и ShowHint позволяют отобразить всплывающую подсказку.
property Hint: string;
property ShowHint: Boolean;
В свойстве Hint набирают подсказку, при этом, чтобы подсказка выводилась при остановке мыши, необходимо свойству ShowHint присвоить значение True.
Свойства ClientWidth, ClientHeight задают ширину и высоту клиентской части формы в пикселях.
property ClientHeight: Integer;
property ClientWidth: Integer;
В клиентской части отображаются компоненты формы, в неклиентской – рамка, заголовок, строка главного меню.
Свойство Icon определяет пиктограмму в левой области заголовка формы.
property Icon: TIcon;
Если пиктограмма не задана, то используется пиктограмма из свойства Icon объекта Application.
Свойство Position задаёт размещение и размер формы.
property Position: TPosition;
Может принимать следующие значения:
poDesigned – определены при конструировании формы значениями Left, Top, Width, Height;
poScreenCenter – расположение в центре экрана;
poDefault – Windows автоматически сама определяет начальную позицию и размеры формы;
poDesktopCenter – расположение в середине рабочего стола;
poMainFormCenter – расположение в центре главной формы.
Свойство WindowState определяет состояние формы.
property WindowState: TWindowState;
Может принимать следующие значения:
wsNormal – обычное (по умолчанию),
wsMinimized – минимизация,
wsMaximized – максимизация.
Свойство AutoScroll определяет автоматическое появление полосы прокрутки.
property AutoScroll: Boolean;
На рис. 10 приведен пример формы с указнием некоторых важных ее свойств.
Рис.10. Пустая форма с указанием некоторых важных свойств
Дата добавления: 2017-01-29; просмотров: 1002;