Связь и интернет Архив Программирование
   
Сделать стартовойСделать закладку            
   ПОИСК  
   
Главная / Pascal и Delphi / Иллюстрированный самоучитель по Delphi 6 / Часть III. Компоненты и программы / Использование компонентов общего назначения / Компоненты страницы Win32 /
8  Perl
8  PHP
8  JavaScript
8  HTML
8  DHTML
8  XML
8  CSS
8  C / C++
8  Pascal и Delphi
8  Турбо Ассемблер
8  MySQL
8  CASE-технологии
8  Алгоритмы
8  Python
8  Обратная связь
8  Гостевая книга
Новости о мире


TCoolBar и TCoolBand - инструментальная панель и полосы для нее - Программирование от RIN.RU
TCoolBar и TCoolBand - инструментальная панель и полосы для нее

Компонент TCoolBar предназначен для создания настраиваемых инструментальных панелей. Для каждого размещаемого на нем элемента TCoolBar создает объект класса TCoolBand (полоса), который может изменять свои размеры и положение в пределах границ компонента.


Следует сразу же заметить, что в отличие от TcontrolBar (страница Additional палитры компонентов) компонент TCoolBar предназначен для примерно таких же задач, но и в версии 2, где он появился впервые, и в версии б он все еще кажется 'сырым', плохо отлаженным.


Центральным свойством компонента является Bands - массив созданных в компоненте полос TCoolBand. Каждая полоса может иметь текст, пиктограмму и произвольный управляющий элемент. В отличие от ттоо1ваг или TControiBar полоса в TCoolBar всегда содержит только один интерфейсный элемент, но ничто не мешает этому элементу быть элементом-контейнером для размещения нескольких компонентов. Размещенный на полосе компонент окружен специальным окном TCoolBar и всегда стремится занять левый верхний угол полосы, при этом остальные размеры полосы изменяются так, чтобы полностью охватить элемент.


Поясним сказанное несложным примером.


  • Поместите на пустую форму компонент TCoolBar - он тотчас же займет верхнюю часть формы, так как по умолчанию его свойства Alignment содержит alTop.

  • Щелкните по компоненту левой кнопкой и выберите Bands Editor (редактор полос).

  • Окно редактора похоже на многие другие используемые в Delphi окна-редакторы: щелкните по кнопке, чтобы вставить в компонент новую полосу.

  • В окне Инспектора объектов можете задать текст для полосы и связанную с ней пиктограмму свойствами соответственно Text и imageindex (предварительно компонент в свойстве images должен уже содержать ссылку на связанный с ним контейнер TimageList). Свойство BitMap используется для заполнения полосы чередующимся узором. Для простоты ограничьтесь указанием текста полоса i и закройте редактор полос.

  • Поместите ниже полосы, но в тот же контейнер CoollBar1 любой управляющий элемент, например, редактор TEdit. Подобно полосе он растянется вдоль верхнего края и будет окружен специальным окном с полосой-кнопкой для реализации механизма Drag&Dock.

  • Вновь раскройте редактор полос, щелкните по ранее установленной полосе и в Инспекторе объектов раскройте список в свойстве Control - в нем окажется только что вставленный в форму компонент TEdit. Щелкните по нему - и он 'перепрыгнет' на первую полосу, оставив ранее занимавшую им полосу TCoolBar пустой. Таким способом происходит связывание полосы TCooiBar с компонентом.

  • Освободившуюся полосу можно связать с новым управляющим элементом (например, ComboBox) и т. д.

  • Вид работающей программы показан на рис. 18.33.





Рис. 18.33. Вид окна CollBar




Свойства TCoolBand:
property Bitmap: TBitmap;Определяет изображение, которое будет циклически повторяться по всему пространству полосы
property BorderStyle: TBorder-Style;Определяет наличие рамки у полосы: bsNone - нет рамки; bssingle - рамка толщиной в 1 пиксель
property Break: Boolean;Если содержит True, полоса располагается в новой строке, в противном случае - в той же строке, что и предыдущая полоса
property Control: TWinControl;Указывает элемент, который содержит полоса
property FixedBackground: Boolean;Запрещает/разрешает периодическое повто рение изображения Bitmap по всей поверхности полосы
property FixedSize: Boolean; Запрещает/разрешает изменение размеров полосы
property HorizontalOnly: Boolean;Предписывает показывать полосу только для значения False свойства Vertical компонента-владельца TCoolBar
property Imagelndex: Integers;Содержит индекс связанного с полосой изображения
property MinHeight: Integers;Определяет минимальное значение высоты полосы при изменении ее размеров
property MinWidth: Integers;Определяет минимальное значение ширины полосы при изменении ее размеров
property ParentBitmap: Boolean; Разрешает/запрещает использовать значение свойства Bitmap компонента-владельца TCoolBar вместо собственного свойства Bitmap
property Text: String;Содержит текст полосы
property Visible: Boolean;Если содержит False, полоса не видна на этапе прогона программы
property Width: Boolean;Определяет ширину полосы в пикселях



Свойства компонента TCoolBar:
property AutoSize: Boolean;Если содержит True, высота компонента будет автоматически согласовываться с высотой полос
property BandBorderStyle: TBorderStyle;Определяет наличие рамок: bsNone - нет рамок; bssingle - каждая полоса имеет рамку толщиной в 1 пиксель
property Bands: TCoolBands;Содержит список всех полос. Свойство items этого объекта открывает доступ к полосе по ее индексу
property Bitmap: TBitmap;Определяет изображение, которое будут использовать все полосы
property FixedOrder: Boolean;Запрещает/разрешает перемещение полос
property FixedHeight: Boolean;Запрещает/разрешает изменение размера полос
property Images; TImageList;Указывает контейнер для изображений, связанных с каждой полосой
property ShowText: Boolean;Если содержит True, на полосе показывается связанный с ней текст
property Vertical: Boolean;Если содержит True, полосы располагаются по вертикали компонента
Для компонента определены такие события:
property OnChange: TNotifyEvent; Возникает при изменении свойств Break,Index или Width у любой полосы
property OnResize: TNotifyEvent;Возникает при изменении размеров компонента



 8  Комментарии к статье  8 8  Обсудить в чате

 
  
  
    Copyright ©  RIN 2003 - 2004      * Обратная связь