Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
YaPVUTS.doc
Скачиваний:
31
Добавлен:
11.04.2015
Размер:
3.15 Mб
Скачать
    1. Переключатели

Переключатели используется для того, чтобы пользователь мог указать свое решение типа Да/Нет или Да/Нет/Не совсем. Различают независимые и зависимые переключатели. В составе диалогового окна может быть несколько переключателей. Если состояние любого из них не зависит от состояния остальных, то такие переключатели называются независимыми, в противном случае – зависимыми. На закладке Standart имеются визуальные компоненты-переключатели: TCheckBox (независимый переключатель) и TRadioButton (зависимый переключатель).

Таблица 25Свойства компонента TCheckBox.

Alignment

Определяет положение текста: taLeftJustify – с левой стороны компонента; taRightJustify – с правой стороны

AllowGrayed

Логическое свойство, которое разрешает/запрещает использование состояния cbGrayed (Не совсем)

Caption

Содержит связанный с компонентом текст

Checked

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

State

Содержит состояние компонента: cbUnchecked – нет; cbChecked – да; cbGrayed – не совсем

Типичное использование компонента:

if CheckBox1.Checked then ShowMessage(‘Yes’)

else ShowMessage(‘No’)

Или:

case CheckBox1.State of

cbChecked : ShowMessage(‘Yes’);

cbUnchecked: ShowMessage(‘No’);

cbGrayed : ShowMessage(‘Not sure’);

end;

Свойство Color компонента фактически игнорируется, а свойства Height и Width определяют размеры прямоугольника, в котором выводится связанный с переключателем текст, и не влияют на размеры прямоугольного окошка. Сам текст указывается в свойстве Caption.

В отличие от TCheckBox компонент TRadioButton представляет собой зависимые переключатель, предназначенные для выбора одного из нескольких взаимоисключающих решений. На форму необходимо поместить по меньшей мере два таких компонента. Они могут иметь только два состояния, определяемых свойствомСhecked. Если в одном компоненте это свойство принимает значениеTrue, во всех других компонентах, расположенных в том же контейнере, свойстваСheckedпринимают значенияFalse. Например, так выглядит стандартное завершение сеанса работы вWindows.

Как и в TCheckBox, программист не может изменять размеры и цвет круглого окошка компонента. Для компонентов TCheckBoxиTRadioButtonопределено событиеOnClick, которое генерируется в момент щелчка мыши по компоненту.

Компонент класса TRadioGroup представляет собой специальный контейнер с заголовком, предназначенный для размещения зависимых переключателей класса TRadioButton.

Таблица 26Свойства компонента TRadioButton

После размещения на форме компонент пуст. Чтобы создать в нем хотя бы один переключатель, следует раскрыть редактор списка Itemsи ввести хотя бы одну строку: строкиItemsиспользуются как поясняющие надписи справа от переключателей, а их количество определяет количество переключателей в группе. После создания компонента его свойствоItemIndexпо умолчанию имеет значение -1, т.е. ни один переключатель в группе не выбран. Если в момент появления компонента на экране в каком-то переключателе выбор уже должен быть установлен, необходимо на этапе конструирования с помощью Инспектора объектов или программно (например, в обработчикеOnActivateформы) установить в свойствоItemIndexномер соответствующего переключателя (нумерация начинается с 0). Это же свойство позволяет программе проанализировать выбор пользователя.

Таблица 27Свойства компонента TRadioButton

Columns

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

Itemlndex

Содержит индекс выбранного переключателя

Items

Содержит список строк с заголовками элементов. Добавление/удаление элементов достигается добавлением/удалением строк списка Items.

Рассмотрим следующий пример. На форме размещен компонент TRadioGroup с двумя опциями, которые определяют положение полос прокрутки на компоненте Memo. Формирование опций компонента происходит во время создания формы.

procedure TForm1.FormCreate(Sender: TObject);

begin

RadioGroup1.Items.Add(' Вертикальная');

RadioGroup1.Items.Add(' Горизонтальная');

RadioGroup1.ItemIndex := 2;

end;

procedure TForm1.RadioGroup1Click(Sender: TObject);

begin

if RadioGroup1.Items[RadioGroup1.ItemIndex] = ' Вертикальная' then

Memo1.ScrollBars:= ssVertical;

if RadioGroup1.Items[RadioGroup1.ItemIndex] = ' Горизонтальная' then

Memo1.ScrollBars:= ssHorizontal;

end;

Или

case RadioGroup1.ItemIndex of

0: Memo1.ScrollBars:= sbVertical;

1: Memo1.ScrollBars:= sbHorizontal;

else

..... //Не выбран ни один переключатель

end;

Подобно тому как TRadioGroup группирует зависимые переключатели, TСheckListBox группирует независимые переключатели, позволяя обратиться к любому из них по индексу. Чтобы вставить в компонент группу независимых переключателей, следует раскрыть редактор его свойства Items и ввести одну или несколько текстовых строк – каждая строка будет соответствовать поясняющей надписи справа от переключателя.

Таблица 28Свойства компонента TСheckListBox

AllowGrayed

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

BorderStyle

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

Checked[Index:Integer]

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

Columns

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

Flat

Логическое свойство, которое разрешает/запрещает трехмерную прорисовку окошек выбора

Header[Index: Integer]

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

ItemЕnabled[Index:Integer]

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

ItemIndex

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

Items

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

MultiSelect

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

SelCount

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

Selected[Index: Integer]

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

Sorted;

Логическое свойство, разрешающее сортировку по алфавиту надписей на переключателях

State[Index: Integer]

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

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

procedure TForm1.FormCreate(Sender: TObject);

begin

CheckListBox1.Items.Add('Выравнивание');

CheckListBox1.Items.Add('Цвет');

CheckListBox1.ItemIndex := 2;

end;

procedure TForm1.CheckListBox1Click(Sender: TObject);

begin

if CheckListBox1.Checked[0]

then Memo1.Alignment:= taCenter

else Memo1.Alignment:= taLeftJustify;

if CheckListBox1.Checked[1]

then Memo1.Color:= clAqua

else Memo1.Color:=clBlue;

end;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]