Мир программирования

 


Найти: на:


Меню
Партнеры
Счетчики
Реклама

100 компонентов общего назначения Delphi 5

3.6.2. Секционированное отображение текстов - компоненты HeaderControl и Header


Компоненты заголовков HeaderControl и Header можно рассматривать в какой-то степени как частный случай таблицы строк, состоящей всего из одной строки. По умолчанию свойство Align в HeaderControl задано равным alTop , что обеспечивает размещение компонента вверху окна формы. Но это свойство можно изменить, например, на alNone и разместить компонент в любом необходимом месте. Заголовок состоит из ряда секций, причем пользователь во время выполнения приложения может изменять ширину отдельных секций с помощью мыши.

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

После того, как вы добавили секцию и установили на ней курсор, в окне Инспектора Объектов появится множество свойств этого объекта. В свойстве Text вы можете задать текст заголовка. Свойства MinWidth и MaxWidth определяют соответственно минимальную и максимальную ширину секции в пикселях. Только в этих пределах пользователь может изменять ширину секции курсором мыши. Значение ширины по умолчанию задается значением свойства Width . При изменении ширины секции во время выполнения генерируется событие OnSectionResize . В обработчик этого события надо вставить операторы, синхронно изменяющие ширину того, заголовком чего является секция: это может быть столбец какой-то таблицы, какая-то панель и т.п.

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

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

Компонент Header обладает существенно меньшими возможностями, чем HeaderControl . В нем свойство Sections имеет тип TStrings и содержит только тексты заголовков, не позволяя регулировать пределы изменения ширины секций, их функционирование как кнопок и т.д. Таким образом, Header имеет смысл использовать только в Delphi 1.

[Оглавление]

 

Опрос

Конкурсы
Реклама

 

Web дизайн: Бурлаков Михаил    

Web программирование: Бурлаков Михаил

Используются технологии uCoz