Заголовки − компоненты HeaderControl и Header

Компоненты заголовков HeaderControlи Headerявляются компонентами, с помощью которых можно управлять размещением расположенных под ними панелей. Заголовок состоит из ряда секций, причем пользователь во время выполнения приложения может изменять ширину отдельных секций с помощью мыши.

Задание 5. Изучить компоненты заголовков.

1.Начните новый проект. Перенесите на форму со страницы Win32 компонент HeaderControl. По умолчанию свойство Align задано равным alTop, что обеспечивает размещение компонента вверху окна формы. Измените это свойство на alNone и разместите компонент в любом месте.

2.Основное свойство компонента HeaderControlSections. Оно является списком объектов типа THeaderSection, каждый из которых описывает одну секцию заголовка.

Свойство Sections можно задать во время проектирования, нажав кнопку с многоточием рядом с этим свойством в Инспекторе Объектов или просто сделав двойной щелчок на компоненте HeaderControlи выбравв появившемся меню пункт редактор секций. В обоих случаях откроется окно Правка. Левая быстрая кнопка позволяет добавить новую секцию в заголовок. Далее быстрая кнопка позволяет удалить секцию. Кнопки со стрелкой позволяют изменять последовательность секций.

После того, как секция добавлена, в окне Инспектора Объектов появится множество свойств этого объекта.

В свойстве Text задайте текст заголовка, например секция 1.

Свойства MinWidth и MaxWidthопределяют соответственно минимальную и максимальную ширину секции в пикселах. Только в этих пределах пользователь может изменять во время выполнения ширину секции курсором мыши. Значение ширины по умолчанию задается свойством Width.

Задайте 3-4 секции.

3.Выполните приложение. Убедитесь, что ширина секций во время выполнения изменяется курсором мыши, а при щелчке пользователя на секции она ведет себя как кнопка.

 

При изменении ширины секции во время выполнения генерируется событие OnSectionResize. В обработчик этого события надо вставить операторы, синхронно изменяющие ширину того, заголовком чего является секция: это может быть какая-то панель, таблица, изображение и т.п.

Свойство AllowClick, равное по умолчанию true, определяет поведение секции как кнопки при щелчке пользователя на ней. В этом случае при щелчке генерируется событие OnSectionClick, в обработчик которого и надо вставить операторы, выполняющие необходимые действия.

Свойство Style может иметь значение hsText − в этом случае в заголовке отображается значение свойства Text, или hsOwnerDraw−в этом случае отображается то, что рисуется непосредственно на канве операторами, записанными в обработчике события OnDrawSection.

Компонент Header обладает существенно меньшими возможностями, чем HeaderControl, поэтому рассматривать его не будем.