Добавил:
ikot.chulakov@gmail.com Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабы по Delphi с готовыми программами / Лабораторная работа №16 Стандартные компоненты.pdf
Скачиваний:
18
Добавлен:
12.07.2020
Размер:
433.45 Кб
Скачать

Лабораторные работы по информатике для специальности «Моделирование и исследование операций в организационно-технических системах»

а) Перетаскивание

компонента в окне б) Вид окна «Дерева объектов» после

«Дерева объектов»

перетаскивания компонентов rbAction и

 

rbPermanent

Рисунок 9 – Перемещение компонентов в окне «Дерева объектов» (Object Tree View)

Теперь при перемещении компонента gbDiscount вместе с ним перемещаются все помещенные в него компоненты. Форма примет вид, приведенный на рисунке 10.

Рисунок 10 – Компонент TGroupBox на форме.

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

TGroupBox.

Компонент TРаnеl

Компонент TPanel находится на вкладке Standart палитры компонентов (рисунок

11).

Лабораторные работы по информатике для специальности «Моделирование и исследование операций в организационно-технических системах»

Рисунок 11 – Расположение компонента TPanel в палитре компонентов

Компонент TPanel представляет собой контейнер общего назначения. В отличие от компонента TGroupBox, он не имеет заголовка и поэтому менее удобен для функционального группирования элементов. С другой стороны его свойство Caption отображается в виде текстовой строки и может использоваться для вывода сообщений. Компоненты этого класса часто помещаются на форму для того, чтобы располагать вставленные в них дочерние компоненты вдоль одной из сторон окна независимо от изменения размеров этого окна.

Компонент имеет развитые средства создания различных эффектов объемности за счет использующихся в нем двух кромок – внешней и внутренней. Свойства компонента TPanel представлены в таблице 4.

Таблица 4 – Свойства компонента TPanel

Свойство

Описание

 

 

type TBorderStyle = bsNone..bsSingle;

Определяет стиль рамки: bsNone – нет рамки

property BorderStyle: TBorderStyle;

bsSingle – компонент по периметру обводится

линией толщиной в 1 пиксел

 

property FullRepaint: Boolean;

Разрешает/запрещает перерисовку панели и всех

 

ее дочерних элементов при изменении ее

 

размеров

Для компонента объявлено событие OnResize, в обработчике которого можно предусмотреть необходимую реакцию на изменение размеров компонента.

Компонент TRadioGroup

Компонент TRadioGroup находится на вкладке Standart палитры компонентов (рисунок 12).

Рисунок 12 – Расположение компонента TRadioGroup в палитре компонентов

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

Таблица 5 – Свойства компонента TRadioGroup

Свойство Описание

property Columns: Integer; Определяет количество столбцов переключателей.

property Itemindex: Integer; Содержит индекс установленного переключателя. Содержит -1 если нет установленного переключателя.

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

Лабораторные работы по информатике для специальности «Моделирование и исследование операций в организационно-технических системах»

Свойство Описание

property Caption:String; Содержит подпись группы зависимых переключателей.

После размещения компонента на форме он пуст. Чтобы создать в нем хотя бы один переключатель, следует раскрыть редактор списка Items (рисунок 13) и ввести хотя бы одну строку. Строки Items используются как поясняющие надписи справа от переключателей, а их количество определяет количество переключателей в группе. На рисунке 14 приведено окно ввода списка строк.

Рисунок 13 – Вызов окна "String List Editor"

Рисунок 14 – Окно «String List Editor»

На следующем рисунке приведен вид компонента TRadioGroup на форме после ввода строк в свойство Items.

Лабораторные работы по информатике для специальности «Моделирование и исследование операций в организационно-технических системах»

Рисунок 15 – Вид компонента TRadioGroup после изменения свойства Items

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

case RadioGroupl.Itemindex of

0:...; // Установлен 1-й переключатель 1:...; // Установлен 2-й переключатель

else // He установлен ни один из переключателей

end;

Задания к лабораторной работе

1.Наберите программы приведенные в лабораторной работе.

2.Модифицируйте программу из листинга 2 таким образом, чтобы она выдавала следующие результаты:

сумма покупки без скидки;

сумма покупки со скидкой;

сумма скидки.

Добавьте на форму поясняющие надписи (TLabel) для строк ввода. Исключите из списка обхода по клавише <Tab> все компоненты TCheckBox. После запуска программы ее окно должно появляться в центре экрана. Поместите компоненты TCheckBox на компонент TPanel, измените рамку компонента TPanel таким образом, чтобы панель выглядела вдавленной в форму.

3.Модифицируйте программу из листинга 3. Поместите зависимые переключатели

TRadioButton в компонент TGroupBox.

4.Модифицируйте программу из листинга 3. Используйте для создания группы зависимых переключателей компонент TRadioGroup.

Вопросы к лабораторной работе

1.Сколько состояний может иметь переключатель TCheckBox?

2.В чем отличие переключателя TCheckBox от переключателя TRadioButton?