Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции 2 семестр.doc
Скачиваний:
42
Добавлен:
27.05.2015
Размер:
777.73 Кб
Скачать

4.3. Объединение элементов управления

Объединение элементов выполняется с помощью специальных компонентов – контейнеров. Контейнер представляет собой визуальный компонент, который позволяет размещать на своей поверхности другие компоненты, объединяет эти компоненты в группу и становится их владельцем.

Для различных объектов система Delphi предлагает набор универсальных контейнеров, включающий такие компоненты, как группа GrоuрBох; панель Pаnеl; область с прокруткой ScrollBox, фрейм (рамка) Frame.

Группа GroupBox используется в основном для визуального выделения функционально связанных управляющих элементов и задает прямоугольную рамку с заголовком (свойство Caption) в верхнем левом углу.

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

Ширина каждой фаски в пикселях задается свойством BevelWidth типа TBevelWidth. Значение типа TBevelWidth представляет собой целое число (TBevelWidth = 1..MaxInt). По умолчанию ширина фаски равна 1.

Свойства BevelInner и BevelOuter типа TPanelBevel определяют вид внутренней и внешней фаски соответственно:

bvNone – фаска отсутствует;

bvLowered – фаска утоплена;

bvRaised – фаска приподнята;

bvSpace – действие не известно.

Между фасками может быть промежуток, ширина которого в пикселях определяется свойством BorderWidth типа TBorderWidth. По умолчанию ширина промежутка равна нулю – промежуток отсутствует.

Управление расположением заголовка панели осуществляется с помощью свойства Alignment типа TAlignment (см. разд. 18.3).

Область прокрутки ScrollBox представляет собой окно c управляющими элементами с возможностью прокрутки информации.

Если свойству Align установить значение alClient, то область прокрутки займет все место формы, не занятое панелью инструментов и строкой состояния.

Свойство AutoScrol1 типа Boolean определяет автоматическое появление полосы прокрутки (горизонтальной, вертикальной или обоих одновременно).

По умолчанию свойство имеет значение True, и полосы прокрутки появляются автоматически. Если свойству AutoScroll установлено значение Fаlsе, то полосы прокрутки должны отображаться программно с помощью свойств HorzScrollBar и VertScrollBar типа TControlScrollBar.

Для программного управления областью прокрутки служит метод ScrollInView. Процедура ScrollInView (AControl: TControl) автоматически изменяет позиции полос прокрутки так, чтобы интерфейсный элемент, заданный параметром AControl, был виден в отображаемой области.

ScrollBox — панель с прокруткой. Этот компонент предназначен для создания области, в которой могут размещаться компоненты, занимающие площадь большую, чем сам ScrollBox. Например, компонент ScrollBox можно использовать для размещения длинных текстовых строк или больших инструментальных панелей, которые исходя из соображений экономии площади окна нецелесообразно отображать целиком. Если размеры ScrollBox меньше, чем размещенные компоненты, то появляются полосы прокрутки, которые позволяют пользователю перемещаться по всем размещенным в ScrollBox компонентам.

В Delphi 5 был введен новый компонент, который помогает поддерживать стилистическое единство приложения. Это Frame — фрейм. Он представляет собой нечто среднее между панелью и формой. С формой его роднит то, что он:

• проектируется отдельно, как самостоятельное окно

• имеет свой модуль — файл .pas

• имеет возможности наследования, причем даже более широкие, чем у формы, так как может наследоваться даже внутри одного приложения

• может включаться в Депозитарий и использоваться так же, как и форма, включая наследование

С панелью фрейм роднит то, что он:

• не является самостоятельным окном Windows и может отображаться только на форме или другом контейнере

• имеет свойства, методы, события, подобные панели, а не форме

Таким образом, фрейм — это панель, т.е. некий фрагмент окна приложения, но способный переноситься на разные формы, в разные приложения и допускающий использование преимуществ наследования. А последующие изменения кода фрейма автоматически переносятся на объекты, в которых данный фрейм используется.