Компонент Delphi HeaderControl (Панель заголовков) располагается на странице Win32 Палитры Компонентов. Он представляет из себя вертикальную или горизонтальную строку полосу (это зависит от свойства Align, по умолчанию задается alTop - вверху), разделенную на части (секции), в которых могут записаны текстовые заголовки. Порядок, количество и размеры этих частей можно менять.
Простые методы работы компонента HeaderControl дают возможность согласовывать размеры других компонентов под размеры секций заголовков.
Свойство DragReorder равное TRUE позволяет в приложении менять мышью местами заголовки. Images - позволяет использовать рисунки компонента ImageList в заголовках. Style - делает секции заголовков объемными (hsButtons) или плоскими (hsFlat).
Разделы создаются в редакторе при помощи свойства 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.