Компонент Delphi HeaderControl

Компонент Delphi HeaderControl (Панель заголовков) располагается на странице Win32 Палитры Компонентов.  Он представляет из себя вертикальную или горизонтальную строку полосу (это зависит от свойства Align, по умолчанию  задается alTop - вверху), разделенную на части (секции), в которых могут записаны текстовые заголовки.  Порядок, количество и размеры этих частей можно менять.

Простые методы работы компонента HeaderControl дают возможность согласовывать размеры других компонентов под размеры секций заголовков. 

Свойство DragReorder равное TRUE позволяет в приложении менять мышью местами заголовки. Images - позволяет использовать рисунки компонента ImageList в заголовках. Style - делает секции заголовков объемными (hsButtons) или плоскими (hsFlat).

Редактор компонента НeaderСontrol

Разделы создаются в редакторе при помощи свойства Sections. Для того чтобы войти в него необходимо сделать двойной щелчок на компоненте или на многоточии рядом со свойством  Sections. Текст заголовка храниться в свойстве Text. Для того чтобы секции могли работать как кнопки свойство AllowClick должно быть равно TRUE. ImageIndex - номер картинки из указанного компонента.

Панель заголовков. Пример.

Расположи на форме компоненты как на рисунке выше. Создадим два раздела компонента HeaderControl - Левый и Правый. Ширину я задал 195, ее нужно установить и для раздела и для компонента GroupBox. Далее установим обработчик события OnSectionTrack:

procedure TForm1.HeaderControl1SectionTrack(
HeaderControl: THeaderControl;
  Section: THeaderSection; Width: Integer; 
State: TSectionTrackState);
begin
   Section.Width := Width;
   GroupBox1.Width := HeaderControl1.Sections.Items[0].Width;
   GroupBox2.Width := HeaderControl1.Sections.Items[1].Width;
   GroupBox2.Left := HeaderControl1.Sections.Items[1].Left;
end;

Запустим приложение и протестируем его. Левой кнопкой мыши мы можем изменять  ширину компонент, через изменение ширины разделов.

Итог: нами был разобран компонент HeaderControl.

Понравилась статья? Раскажите друзьям:
Общайтесь со мной

Оставить комментарий

Ваш email не будет опубликован. Обязательные поля отмечены *

Вы можете использовать это HTMLтеги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>