Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование на Pascal / Delphi / Справочник по компонентам Delphi.doc
Скачиваний:
148
Добавлен:
02.05.2014
Размер:
1 Mб
Скачать

Компонент tTabbedNotebook

TObject—>TPersistent->TComponent—”TControl->TWinControl->

-”TCuscomControl->TTabbedNoteBook

Модуль TABNOTBK

Страница Палитры компонентов Additional

Этот компонент — уже готовое объединение первых двух компонентов из этого раздела. Очень большим плюсом является то, что в нем закладки могут располагаться не в один, а в множество рядов один над другим. Число закладок в каждом ряду должно быть не более, чем определено в свойстве:

(Pb) property TabsPerRow: Integer;

Как и TNotebook, этот компонент имеет свойства:

property ActivePage: string;

property Pagelndex: Integer;

property Pages: TStrings;

Доступ к активной странице из набора Pages по-прежнему возможно двумя способами — через ActivePage и Pagelndex.

Закладки в этой записной книжке располагаются не снизу, а сверху. При их изображении применяется шрифт

(Pb) property TabFont: TFont ;

причем текст на активной закладке пишется полужирным начертанием (если оно не используется для обычных закладок).

Найти индекс страницы с заданным именем позволяет метод

function GetlndexForPage(const PageName: string): Integer;

а установить фокус по номеру — метод:

procedure SetTabFocus(Index: Integer);

Щелчок на активной странице инициирует событие OnClick, а ее смена — OnChange:

(Pb) property OnChange: TPageChangeEvent;

TPageChangeEvent = procedure(Sender: TObject; NewTab: Integer;

var AllowChange: Boolean) of object;

Параметры этого события идентичны TTabChangeEvent.

Группирование компонентов

По умолчанию родителем для большинства компонентов, размещенных на форме, является она сама. В ряде случаев, однако, есть необходимость отка­заться от этого правила, как визуально, так и функционально подчеркнув обособленность каких-то элементов управления. Для этого вы можете исполь­зовать специальные группирующие компоненты TGroupBox и TPanel. Мы также отнесли в эту группу компонент TScrollBox, он также обычно имеет дочерние компоненты, которые все вместе подвергаются прокрутке. Общим признаком для всех группирующих компонентов является наличие опции csAcceptsControls в свойстве ControlStyle.

Компонент tGroupBox

TObject—^TPersistent—”TCorr]ponent—”TControl—>TWinControl—>

—>TCustomControl—>TCustomGroupBox—^TGroupBox

Модуль STDCTRLS

Страница Палитры компонентов Standard

Единственное назначение этого компонента — служить предком (Parent) для других компонентов. Это играет роль тогда, когда они должны быть объединены в группу по какому-либо признаку. Типичный пример — радиокнопки. Когда одна из них нажимается, все остальные радиокнопки в группе (т. е. с одним значением свойства Parent) автоматически отпускаются.

Поэтому, для того чтобы на форме иметь несколько независимых групп радиокнопок, их нужно поместить на разные объекты типа TGroupBox. (Кстати, именно для решения задачи с радиокнопками есть специальный ком­понент — TRadioGroup).

Будучи потомком класса TCustomControl, TGroupBox наследует от него общие свойства, описанные ранее. Специфических свойств и методов этот компонент не имеет.

Компонент tPanel

TObject->TPersistent-”TComponent->TControl->TWinControl—>

->TCustomControl—”TCustomPanel-”TPanel

Модуль EXTCTRLS

Страница Палитры компонентов Standard

Этот компонент — панель — является несущей конструкцией для размещения других элементов управления. В отличие от простой рамки (TBevel) панель сама является оконным элементом управления и родителем для всех разме­щенных на ней компонентов. Часто ее используют для создания панелей инстру­ментов, строк состояния и т. п.

За внешнее оформление панели отвечают свойства:

(Pb) property Bevel Inner: TPanelBevel;

(Р1э) property BevelOuter: TPanelBevel;

TPanelBevel = (bvNone, bvLowered, bvRaised) ;

(Pb) property BevelWidth: TBevelWidth;

TBevelWidth = 1..Maxint;

(Pb) property BorderWidth: TBorderWidth;

TBorderWidth = 0..Maxint ;

На границах панели размещаются две специальные окаймляющие рамки (bevels): Bevellnner и BevelOuter. При помощи комбинации белого и серого цветов они имитируют трехмерность — приподнятость (bvRaised) или утоп-ленность (bvLowered). Обе рамки имеют ширину BevelWidth. Наружная — BevelOuter — расположена прямо по периметру панели, вторая — Bevellnner — внутри на расстоянии BorderWidth от нее. Обе могут быть невидимыми (bvNone), приподнятыми или утопленными.

Комбинируя сочетания bvLowered/bvRaised, можно создать вокруг панели "ров" или "вал".

Иллюзию трехмерности может подчеркнуть также стиль обрамления компо­нента:

(Pb) property BorderStyle: TBorderStyle;

TBorderStyle = bsNone .. bsSingle;

Значение bsSingle означает, что панель будет окаймлена черной линией единичной толщины (по периметру, снаружи от обеих рамок).

Выравнивание текста заголовка панели определяется при помощи свойства:

(Pb) property Alignment: TAlignment;

Свойство

(Pb) property Locked: boolean;

предназначено для определения способа взаимодействия панели с размещен­ными на ней объектами OLE. Если оно равно True, последние при активизации сервера OLE "по месту'" не могут заместить панель. В обработчике события:

(Pb) property OnResize: TNotifyEvent;

может быть предусмотрена реакция пользователя на изменение размеров панели.

Соседние файлы в папке Delphi