Материал: Мансуров. Основы программирования в среде Lazarus. 2010

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Глава 6 Программирование приложений с графическим интерфейсом

____________________________________________________________________

Checked – определяет включен или не включен переключатель. Если переключатель включен, то он отмечается точкой внутри кружочка, а

Checked= true;

Caption – задает текст надписи рядом с кнопкой.

Обычно компоненты TRadioButton размещаются в специальном компо-

ненте-контейнере (об этом чуть позже), но можно положить их и на форму. Как только вы разместите несколько компонентов TRadioButton на форму, они начинают функционировать как единая группа переключателей. Т.е. даже на этапе проектирования вы не сможете установить Checked= true одновре-

менно нескольким радиокнопкам, а можете установить это свойство равным true только у одного переключателя!

Для удобной работы с группами компонентов TCheckBox и TRadioButton существуют специальные контейнеры TCheckGroup и TRadioGroup. Контейнер это такой компонент, на котором можно размещать другие компоненты. Иначе их еще называют панелями, рис. 6.70.

Рис. 6.70. Компоненты-контейнеры TCheckGroup и TRadioGroup

Общие свойства контейнеров TCheckGroup и TRadioGroup:

Caption – текст заголовка панели;

641

6.3 Визуальное программирование в среде Lazarus

____________________________________________________________________

Columns – задает количество столбцов. На рис. 6.70. панель CheckGroup1

содержит два столбца, а панель RadioGroup1 состоит из одного столбца;

ColumnLayout – задает способ размещения дочерних компонентов в столбцах. Имеет значения: clHorizontalThenVertical – компоненты размещаются по горизонтали, clVerticalThenHorizontal – компоненты размещаются по вертикали. На рисунке флажки размещены по горизонтали;

Items – содержит список строк типа TStrings с текстами заголовков со-

ответствующих компонентов. Строки можно формировать как при проектиро-

вании, так и программно. При проектировании необходимо раскрыть редактор строк Items и ввести необходимые строки. Сколько было введено строк,

столько и будет создано переключателей или флажков. Доступ к тексту флажка или переключателя осуществляется по индексу Items[k], индексы как обыч-

но начинаются с нуля.

Определение того, какой элемент пользователь выбрал в компонентах

TCheckGroup и TRadioGroup различаются. Так в TCheckGroup использу-

ется свойство Checked[k], где k индекс флажка. Например:

if CheckGroup1.Checked[k]

then ShowMessage('Выбран флажок ' + IntToStr(k + 1));

В TRadioGroup для этих же целей можно использовать свойство ItemIndex, которое указывает индекс выбранного переключателя, например:

with RadioGroup1 do begin

k:= ItemIndex + 1; case ItemIndex of

0:ShowMessage('Выбран переключатель ' + IntToStr(k));

1:ShowMessage('Выбран переключатель ' + IntToStr(k));

642

Глава 6 Программирование приложений с графическим интерфейсом

____________________________________________________________________

2: ShowMessage('Выбран переключатель ' + IntToStr(k));

else

ShowMessage('Не выбран ни один переключатель');

end;

end;

По умолчанию ItemIndex= -1. Это означает, что ни один переключа-

тель не выбран. Чтобы программно или при проектировании указать выбран-

ный переключатель достаточно ItemIndex присвоить значение из допусти-

мого диапазона.

В рассмотренных нами контейнерах TCheckGroup, TRadioGroup рас-

положение переключателей и флажков формируется автоматически самим кон-

тейнером. Иногда бывает удобнее применить другой контейнер, а именно

TGroupBox, где можно более рационально использовать площадь контейнера.

Кроме того, в TGroupBox можно размещать любые компоненты. Разница от рассмотренных ранее специальных контейнеров TCheckGroup,

TRadioGroup заключается в том, что необходимо использовать компоненты

TCheckBox и TRadioButton.

Внешний вид рассмотренных компонентов приведен на рис. 6.71.

Рис. 6.71. Компонент-контейнер TGroupBox

643

6.3 Визуальное программирование в среде Lazarus

____________________________________________________________________

6.3.10.4. Компоненты отображения структурированных данных

Компонент TTreeView

Этот компонент (вкладка Common Controls) применяется для отобра-

жения данных, имеющих иерархическую структуру или, иначе говоря, данных,

которые можно представить в виде нескольких уровней. К таким данным, на-

пример, относятся структура какого-нибудь предприятия, генеалогическое де-

рево человека, файловая структура диска и т.д.

В компоненте TTreeView информация отображается в виде связанных узлов. Каждый узел состоит из некоторого текста, собственно составляющих данные. Может содержать также некоторую пиктограмму и, кроме того, с каж-

дым узлом может быть связан некоторый объект. Узел может иметь подузлы,

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

Информация об узлах дерева содержится в свойстве Items. Информацию в компонент можно заносить как вручную, так и программно.

Для ручного заполнения существует специальный редактор элементов

TReeView, открыть который можно выбрав пункт Items в инспекторе объек-

тов и нажав кнопку с многоточием или просто дважды щелкнув по самому компоненту на форме.

Для ввода нового элемента нажмите на кнопку "Новый элемент". Чтобы ввести для вновь введенного узла его подузлы, нажмите на кнопку "Новый подэлемент". Чтобы ввести узел, расположенный на одном уровне с каким-то узлом, его необходимо предварительно выделить. После этого нажмите на кнопку "Новый элемент", рис. 6.72.

644

Глава 6 Программирование приложений с графическим интерфейсом

____________________________________________________________________

Рис. 6.72. Редактор элементов TTreeView

В поле "Текст" введите содержательную информацию для этого узла.

Кнопка "Загрузить" позволяет загрузить данные из текстового файла. В

файле должны содержаться тексты узлов. Нижележащие уровни (подузлы) от-

мечаются отступом. Так, только что введенную информацию, мы могли бы за-

грузить из файла, записи которого имели бы вид:

Ректор Проректор по учебной работе

Теперь об индексах. Как видно из рисунка, рядом с текстом узла находится рисунок (пиктограмма). Рисунки размещаются в специальном компоненте

TImageList, расположенном в той же вкладке Common Controls. Помес-

тите компонент TImageList в любом месте формы, это невидимый компо-

нент (естественно при выполнении). В нем также имеется специальный редак-

тор для занесения изображений. Чтобы открыть его проще всего дважды щелк-

нуть по самому компоненту, рис. 6.73.

645

Смотрите также:

11 Горм +
113
14
1433
1511
1632
199
204
2N4264RE
3773