Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методическое пособие для самостоятельных работ.doc
Скачиваний:
21
Добавлен:
16.11.2019
Размер:
2.89 Mб
Скачать

3.2.7. TShape - стандартная фигура

Рис.3.26. Компонент TShape - стандартная фигура

Компонент рисует одну из простейших геометрических фигур, определяемых следующим множеством:

type TShapeType = (stRectangle, stSquare, stRoundRect, stRoundSquare, stEllipse, stCircle) ;

(прямоугольник, квадрат, скругленный прямоугольник, скругленный квадрат, эллипс, окружность). Фигура полностью занимает все пространство компонента. Если задан квадрат или круг, а размеры элемента по горизонтали и вертикали отличаются, фигура чертится с размером меньшего измерения.

Помимо стандартных чертежных инструментов Brush и Pen (шрифт для компонента не нужен) в компоненте определено свойство Shape.' TShapeType, которое и задает вид геометрической фигуры. Изменение этого свойства приводит к немедленной перерисовке изображения.

3.2.8. TBevel - кромка

Компонент класса TBevel носит оформительский характер и предназначен для выделения группы элементов или отделения их друг от друга.

Свойство

type TBevelShape = (bsBox, bsFrame, bsTopLine, bsBottomLine, bsLeftLine, bsRightLine);

property Shape: TBevelShape;

определяет вид компонента (прямоугольник, рамка, верхняя линия, нижняя линия, левая линия, правая линия).

Свойство

type TBevelStyle = (bsLowered, bsRaised) ;

property Style: TBevelStyle;

задает стиль компонента (вдавленный или выпуклый).

3.2.9. TScrollBox - панель с прокруткой

Рис.3.27. Компонент TScrollBox - панель с прокруткой

Компонент класса TScrollBox служит контейнером для размещения других компонентов. Его отличительная особенность - возможность прокрутки и, следовательно, экономия пространства формы при необходимости размещения на ней большого количества управляющих элементов. Современные программные продукты относительно редко используют такого рода компоненты, отдавая предпочтение многолистным блокнотам с закладками. Наиболее походящей областью применения компонентов является размещение на них относительно длинных TEdit, TComboBox, TMemo и т. п.

Использование компонента не отличается сложностью: положите его на форму и размещайте затем на нем другие компоненты. Если очередной компонент выйдет за пределы рабочей области TScrollBох, по сторонам контейнера возникнут полосы прокрутки (рис. 3.27, 3.28).

Однако если свойство AutoScroll компонента содержит False, полосы прокрутки не появятся, и компонент будет отсекать “лишние” части своих дочерних компонентов. Еще одним важным свойством компонента является AutoSize: если это свойство имеет значение True, размеры компонента будут автоматически изменяться так, чтобы все части дочерних компонентов были в его рабочей зоне, даже если для этого придется увеличить размеры внешнего контейнера (формы). С помощью свойств HorzScrollBar и VertscrollBar программист может управлять свойствами каждой из полос прокрутки в отдельности.

Рис. 3.28. Размещение компонентой ни TScrollBox

3.2.10. TСheckListBox - группа независимых переключателей

Подобно тому, как TRadioGroup группирует зависимые переключатели, TcheckListBox группирует независимые переключатели, позволяя обратиться к любому из них по индексу.

Чтобы вставить в компонент группу независимых переключателей, следует раскрыть редактор его свойства items и ввести одну или несколько текстовых строк - каждая строка будет соответствовать поясняющей надписи справа от переключателя.

Свойства компонента:

Свойство

Описание

property AllowGrayed: Boolean;

Разрешает/запрещает использовать в переключателях третье состояние cbGrayed

property BorderStyle: TBorderStyle;

Определяет тип рамки, очерчивающей компонет: bsNone - нет рамки; bsSingie - рамка толщиной в 1 пиксель

property Canvas: TCanvas;

Это свойство используется для программной прорисовки опций

property Checked[Index:

Integer]: Boolean;

Содержит выбор пользователя типа Да/Нет для переключателя с индексом Index. Состояния cbUnchecked и cbGrayed отражаются как False

property Columns: Integers;

Определяет количество колонок опций

property Flat: Boolean;

Разрешает/запрещает трехмерную прорисовку окошек выбора

property Header[Index: Integer] : Boolean;

Запрещает прорисовку окошка выбора для опции с индексом Index. Таким образом, вставляются заголовки отдельных секций

property HeaderBackgroundColor: TColor;

Цвет фона для заголовка (см. свойство Header)

property HeaderColor:TColor;

Цвет текста для заголовка (см. свойство Header)

property IntegralHeight: Boolean; 

Если имеет значение True, компонент автоматически изменяет высоту так, чтобы в нем полностью отображались опции, в противном случае последняя опция может не полностью отображаться в окне компонента

property ItemEnabled[Index:Integer]: Boolean;

Разрешает/запрещает выбор опции с индексом Index

property ItemHeight: Integer; 

Если свойство Style компонента имеет значение IsOwnerDrawFixed, значение ItemHeight определяет высоту каждой опции компонента. При других значениях Style это свойство игнорируется

property Itemlndex: Integer;

Содержит индекс выбранной опции (индексация опций начинается с нуля)

property Items: TStrings;

Содержит опции компонента

property MultiSelect: Boolean;

Если содержит True, пользователь может выбирать несколько опций

property SelCount: Integer;

Содержит количество выбранных опций компонента, если свойство MultiSelect содержит True

property Selected[Index: Integer]: Boolean;

Содержит True, если опция с индексом Index выбрана

property Sorted: Boolean;

Сортирует по алфавиту надписи на переключателях

property State[Index: Integer] : TCheckBoxState;

Содержит состояние переключателя с индексом Index: cbUnchecked - нет; cbChecked ~ да; cbGrayed - не совсем

Для компонента определено событие

property OnClickCheck: TNotifyEvent;

которое наступает при изменении состояния любого переключателя.