18.3. КОМПОНЕНТЫ СТРАНИЦЫ WIN32

18.3.1. TTabControl - набор закладок

Компонент TTabControl представляет собой контейнер с закладками. Свойство Tabs определяет названия и количество закладок. Событие onchange. возникает при выборе новой закладки и позволяет управлять содержимым окна компонента. Для примера на рис. 18.22 показано использование компонента для управления календарем (с помощью TTabControl созданы закладки с названиями месяцев).

Свойства компонента:

property DisplayRect: TRect;

Определяет рабочую зону компонента, предназначенную для размещения других компонентов. Клиентская часть компонента содержит зону закладок и рабочую зону

property HotTrack: Boolean;

Если содержит True, название закладки автоматически выделяется цветом при перемещении над ней указателя мыши

property Images: TCustomImageList;

Определяет объект - хранилище изображений, которые будут прорисовываться слева от текста

property Multi-Line: Boolean;

 

Разрешает расположение закладок в несколько рядов. Если содержит False и закладки не умещаются в границах компонента, в зону закладок автоматически вставляются кнопки прокрутки

property OwnerDraw: Boolean;

Разрешает программную прорисовку закладок

property ScrollOpposite:

Boolean;

 

Разрешает/запрещает перемещение неактивных рядов закладок на противоположную сторону компонента. Учитывается, если количество рядов больше 2

type TTabStyle = (tsTabs,

tsButtons, tsFlatButtons) ;

property Style: TTabStyle;

Определяет стиль закладок: tsTabs - обычные

надписи; tsButtons -трехмерные кнопки; tsFlat Buttons - плоские кнопки

property TabHeight: Smallint;

Определяет высоту каждой закладки в пикселях.

Если содержит 0, высота закладок выбирается автоматически в зависимости от выбранного шрифта

property Tablndex: Integer;

 

Определяет индекс выбранной закладки или содержит -1, если ни одна закладка не выбрана. Индексация начинается с 0

TTabPosition = (tpTop,

tpBottom) ;

property TabPosition: TTab

Position;

Определяет положение зоны закладок относительно рабочей зоны компонента (tpTop - вверху, tpBottom - ВНИЗУ)

 

property Tabs: TStrings;

Определяет надписи на закладках и их количество.

Чтобы добавить или удалить закладку, нужно добавить ее надпись к списку Tabs или удалить надпись из списка

property TabWidth: Smallint;

 

 

Определяет ширину каждой закладки в пикселях.

Если содержит 0, ширина каждой закладки выбирается индивидуально в зависимости от длины ее надписи

 

Рис. 18.22. Управление календарем с помощью TTabControl

Помимо события OnChange, возникающего после выбора новой закладки, для компонента определено также событие OnChanging, которое возникает перед сменой закладки:

type TTabChangingEvent =

procedure (Sender: TObject;

var AllowChange: Boolean) of object;

property OnChanging: TTabChangingEvent;

Обработчик события может запретить выбор закладки, вернув в параметре Alliowchange значение False.