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.