Изучим данный компонент. Компонент HeaderControl расположен на вкладке Win32 панели компонентов. Этот компонент представляет из себя заголовок, разделенный на несколько частей (секций) по горизонтали. Количество частей и их размеры пользователь может менять. Компонент HeaderControl чаще всего применяется совместно с другими компонентами - различными таблицами и т. п.
Мы в качестве примера будем использовать HeaderControl совместно с двумя компонентами Memo. У нашего компонента HeaderControl будет две секции (по числу Memo). При изменении размеров секций размер компонентов Memo тоже будет синхронно меняться.
Создайте новый проект в Delphi, разместите на форме компонент HeaderControl. Разместите на форме компонент Memo (со вкладки Standard Палитры компонентов). Для размещенного Memo1 установите свойство Align в alLeft (по левому краю контейнера). Разместите на форме второй компонент Memo, для него установите свойство Align в alClient (по оставшейся свободной части контейнера).
Теперь добавим на компонент HeaderControl две секции. Для этого выбираем в Object Inspector для нашего компонента свойство Sections, и щелкаем на его многоточии. Появится редактор для добавления секций. В нем для добавления секции щелкаем на левой кнопке.
Обратите внимание, что при этом в Object Inspector автоматически появится новый объект HeaderControl1.Sections[0]. Задайте для него свойство Text в, например, Title1.
Это будет заголовок первой секции нашего HeaderControl. Аналогично добавьте и вторую секцию, для которой установите заголовок в Title2. Закройте редактор секций.
Теперь займемся синхронизацией ширины секций у HeaderControl и двух компонентов Memo.
Для этого добавьте код для события OnSectionResize компонента HeaderControl1:
procedure TForm1.HeaderControl1SectionResize(HeaderControl: THeaderControl;
Section: THeaderSection);
begin
Memo1.Width:=HeaderControl1.Sections[0].Width;
end;
Для обработчика события OnShow формы Form1 добавьте точно такой же код:
procedure TForm1.FormShow(Sender: TObject);
begin
Memo1.Width:=HeaderControl1.Sections[0].Width;
end;
Запустите программу. Ширина у компонентов Memo будет совпадать с шириной секций компонента HeaderControl (в том числе и при изменении пользователем ширины секции).
Из полезных свойств у секций компонента HeaderControl отметим еще свойства Width (задает ширину секции по умолчанию), MaxWidth и MinWidth (задает максимальную и минимальную ширину соответственно).
Всё на этом урок закончен.