Обзор компонентов библиотеки C++Builder_______________________199

Свойства полос вы можете задавать редактором полос. С этим инструментом
вы уже имели дело в разделе 3.2.6 (рис. 3.9), но тогда он фигурировал как редак-
тор заголовков. Вызвать редактор полос можно тремя способами: из Инспектора
Объектов кнопкой с многоточием около свойства Bands, двойным щелчком на ком-
поненте CoolBar или из контекстного меню, выбрав команду Bands Editor. В окне
этого редактора вы можете перемещаться по полосам, добавлять новые полосы или
уничтожать существующие. При перемещении по полосам в окне Инспектора Объ-
ектов вы будете видеть свойства полос. Свойство Control определяет размещенный
на полосе компонент. Свойство Break определяет, занимает ли полоса весь соответ-
ствующий размер контейнера CoolBar, или обрывается. Если вы расположите по-
лосы так, как показано на рис. 3.33, то в левых полосах автоматически установит-
ся Break = true, а в правых — Break = false.

Свойство Text задает текст, который может появиться в начале соответствую-
щей полосы. Это свойство можно оставлять пустым. А можно и задать его — над-
писи «Панель 1», «Панель 2», «Окно I», «Окно 2» на рис. 3.33 заданы именно этим
свойством.

Вместо свойства Text (или наряду с ним) можно задать свойство Imagelndex
— индекс списка изображений ImageList (см. раздел 3.7.3), ссылка на который за-
дается свойством Images. Указанные таким образом изображения появятся в нача-
ле соответствующих полос (см. пиктограммы панелей на рис. 3.33).

Свойства MinHeight и MinWidth определяют минимальную высоту и ширину
полосы при перестроениях пользователем полос панели.

Свойство FixedSize определяет, фиксирован ли размер данной полосы или он
может изменяться пользователем. По умолчанию для всех полос FixedSize = false,
т.е. все полосы перестраиваются. Но при желании размеры некоторых полос мож-
но зафиксировать, задав для них FixedSize = true. Свойство FixedSize имеется не
только у отдельных полос, но и у самого компонента CoolBar.

Для компонента CoolBar в целом, помимо обычных для других панелей
свойств, надо обратить внимание на свойство BandMaximize. Оно определяет дей-
ствие, которым пользователь может установить максимальный размер полосы, не
перетаскивая ее границу: bmNone — такое действие не предусмотрено, bmClick —
щелчком мыши, bmDblClick — двойным щелчком. Наиболее целесообразно, по-ви-
димому, задавать значения bmDblClick или bmNone, поскольку значение bmClick
приводит к резкому перестроению полос даже при случайном щелчке мыши.

Свойство FixedOrder компонента CoolBar, если его установить в true, не раз-
решит пользователю в процессе перемещений полос изменять их последователь-
ность. Вероятно, такое задание лучше, чем значение по умолчанию, равное false,
поскольку чрезмерная свобода для пользователя способна его запутать.

Свойство Vertical указывает вертикальное или горизонтальное расположение
полос. По умолчанию Vertical = false, что соответствует горизонтальным полосам.

Запустите свое тестовое приложение, если вы его построили, и опробуйте его в
работе. Вы увидите, как легко пользователь может перестраивать панель. Пере-
строение осуществляется не только "перетаскиванием границ, но и просто щелчком
на панели. Поработав с этим примером вы, вероятно, поймете, что для удобства по-
льзователя все-таки надо снижать возможности трансформации панелей: устанав-
ливать минимальную ширину (свойство MinWidth), какие-то из панелей делать
фиксированными по размерам(свойство FixedSize), запрещать изменение последо-
вательности панелей (свойство FixedOrder).

Большую свободу перестроений дает пользователю и компонент ControlBar.
Только оформление панели несколько отличается от CoolBar и кроме того в ней
может широко применяться техника перетаскивания и встраивания Drag&Doc,
подробно рассмотренная в разделе 4.5. Поэтому ограничимся пока кратким описа-
нием панели ControlBar.