Компоненты – контейнеры постраничного представления информации предназначены для разбиения элементов на группы и вывода в каждый момент времени работы программы только одной группы компонентовиз нескольких. В Delphi данные компоненты реализованы в виде классов TabControl и PageControl, каждый из которых является наследником TCustomTabControl.
Общей чертой компонентов TabControl и PageControl является наличие полосы с закладками, с помошью которых пользователь может выбрать необходимую страницу элементов управления. Если закладки не помещаются в окно компонента, то автоматически появляется элемент управления для их перемещения, состоящий из двух стрелок.
Расположение закладок можно изменить с помощью перечислимого свойства TabPosition:
property TabPosition: TTabPosition;
Type TTabPosition = (tpTop, tpBottom, tpLeft, tpRight);
Это свойство может принимать значения :
· tpTop – закладки расположены вдоль верхней стороны контейнера, как показано на рисунке;
· tpBottom – закладки расположены вдоль нижней стороны контейнера;
· tpLeft – закладки расположены вдоль левой стороны контейера(вертикально);
· tpRight – закладки расположены вдоль правой стороны контейера(вертикально);
Также возможно расположение закладок в несколько рядов ,если свойство MultiLine имеет значение True. Более того ,если закладки расположены вдоль одной из боковых сторон компонента, то это свойство всегда должно иметь значение True.
property MultiLine: Boolean;
Размер закладок по умолчанию выбирается автоматически, однако может быть и установлен разработчиком с помощью целочисленных свойств TabWidth(ширина закладки) и TabHeight(высота закладки):
property TabWidth: Smallint;
property TabHeight: Smallint;
Визуальное представление закладок можно изменить , используя перечислимое свойство Style:
property Style: TTabStyle;
Type TTabStyle = (tsTabs, tsButtons, tsFlatButtons);
Это свойство может принимать следующие значения :
· tsTabs – обычные закладки;
· tsButtons – закладки в виде трехмерных кнопок;
· tsFlatButtons – закладки в виде плоских кнопок.
Во время выполнения программы или визуальной разработки номер активной закладки можно определить или изменить с помощью целочисленного свойства TabIndex (закладки нумеруются с нуля):
property TabIndex: Integer;
При смене активной закладки вызывается обработчик сообщения OnChange , если он определен для данного компонента. Обработчик OnChange представляет собой процедуру с одним параметром – ссылкой на компонент – источник ,в котором произошло событие:
property OnChange: TNotifyEvent;
type TNotifyEvent = procedure(Sender: TObject) of Object;
Теперь рассмотрим отличия компонентов TabControl и PageControl друг от друга. Более простым в использовании является компонент PageControl , который уже во время разработки программы предоставляет набор страниц, на которых располагаются группы элементов управления.
При добавлении PageControl на форму в нем не содержится страниц для размещения элементов управления и соответственно нет закладок. Для