200______________________________________________Глава 3

Поместите на форму компонент ControlBar и перенесите на него несколько
компонентов, например, инструментальных панелей ToolBar и окон редактирова-
ния Edit. Вы увидите (см. рис 3.34), что каждый компонент, попадая на Control-
Bar, получает полосу захвата, свойственную технологии Drag&Doc.

Перестраиваемая панель на основе компонента        ^г^^гг/'^jП" '

Установите у компонентов, размещенных на ControlBar, свойство DragMode
= dmAutomatic и DragKind == dkDock. Это означает автоматическое выполнение
операций Drag&Doc (см. раздел 4.5).

Параметры компонента ControlBar RowSize и RowSnap определяют процеду-
ру встраивания. Параметр RowSize задает размеры полос, в которые могут встраи-
ваться компоненты, а RowSnap определяет захват полосами встраиваемых компо-
нентов. Параметр AutoDrag определяет, можно (при значении true), или нельзя
простым перетаскиванием вынести полосу за пределы ControlBar.

Запустите приложение и посмотрите на практике возможности перестроения
панелей. А подробнее о технике Drag&Doc вы узнаете в разделе 4.5.

3.5.6 Полоса состояния StatusBar

Компонент StatusBar представляет собой ряд панелей, отображающих полосу
состояния в стиле Windows. Обычно эта полоса размещается внизу формы.

Свойство SimplePanel определяет, состоит ли полоса состояния из одной или
множества панелей. Если SimplePanel = true, то вся полоса состояния представля-
ет собой единственную панель, текст которой задается свойством SimpleText. Если
же SimplePanel = false, то полоса состояния является набором панелей, задавае-
мых свойством Panels. В этом случае свойство SizeGrip определяет, может ли по-
льзователь изменять размеры панелей в процессе выполнения приложения.

Каждая панель полосы состояния является объектом типа TStatusPanels.
Свойства панелей вы можете задавать специальным редактором наборов. С этим
инструментом вы уже имели дело в разделах 3.2.6 и 3.5.5 при редактировании за-
головков и полос. Вызвать редактор можно тремя способами: из Инспектора Объ-
ектов кнопкой с многоточием около свойства Panels, двойным щелчком на компо-
ненте StatusBar или из контекстного меню, выбрав команду Panels Editor. В окне
редактора вы можете перемещаться по панелям, добавлять новые или уничтожать
существующие. При перемещении по панелям в окне Инспектора Объектов вы бу-
дете видеть их свойства.

Основное свойство каждой панели — Text, в который заносится отображае-
мый в панели текст. Его можно занести в процессе проектирования, а затем можно
изменять программно во время выполнения. Другое существенное свойство пане-
ли — Width (ширина).

Программный доступ к текстам отдельных панелей можно осуществлять через
свойство Panels и его индексированное подсвойство Items. Например, оператор:

StatusBarl->Panels->Items[0]->Text = "текст I";

напечатает текст «текст 1» в первой панели.