BorlanD Russian Сommunity

Изучим данный компонент. Компонент 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 (задает максимальную и минимальную ширину соответственно).

Всё на этом урок закончен.

Просмотров: 2481 | Категория: Delphi 7 | Дата: 11.05.2008