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

7. Компонент ComboBox (страница Standard)

Компонент предназначен для выбора из выпадающего списка с возможностью редактирования. При изменении текста в окне (в результате выбора из списка или редактирования) вырабатывается событие OnChange. Основные свойства:

  • Text - текст, находящийся в окне редактирования

  • Items строковый массив элементов для выбора. Его заполнение происходит при нажатии на кнопку с многоточием, расположенную рядом со свойством Items. Появляется окно, каждая строка которого будет строкой в выпадающем списке.

  • ItemIndex – номер выбранного элемента

  • Sorted задает сортировку элементов списка по алфавиту

  • Style определяет вид комбинированного списка:

    • сsSimple – редактируемая строка и статический список фиксированной длины;

    • сsDropDown - редактируемая строка и раскрывающийся список;

    • сsDropDownList - раскрывающийся список (запрещается редактирование)

Таким образом, Text можно использовать, если необходимо узнать, что выбрал или ввел пользователь. Свойство Itemlndex, значения которого начинаются с 0, доступно только во время выполнения программы. Если ни одна строка не выбрана, то Itemlndex = -1 (по умолчанию). Для установки начального значения можно ввести в обработчике события OnCreate формы оператор вида

{ ComboBox1->ItemIndex = 0; }

  • Пример. Пусть пользователю требуется изменять шрифт надписи на компоненте Label1, выбирая размер шрифта из выпадающего списка. Для этого добавим на форму компонент ComboBox1 и в свойстве Items зададим следующие значения:

10

12

14

Тогда при изменении значения списка необходимо обрабатывать событие OnChange следующим образом:

void __fastcall TForm1::ComboBox1Change(TObject *Sender)

{ Label1->Font->Size = StrToInt(ComboBox1->Text); }

Пример выполнения задания

Вычислить площадь треугольника двумя способами: по трем сторонам и по двум сторонам и углу по формулам

S = и S = a*b* sin(a^b), где p – полупериметр; a, b, c – стороны

Пошаговая инструкция для выполнения задания.

  • Измените свойство Caption окна Form1 на «Вычисление площади треугольника».

  • Добавьте на форму 4 окна редактирования: Edit1, Edit2, Edit3, Edit4 и поменяете имена компонентов соответственно на InpA, InpB, InpC, Result. Для этого необходимо изменить соответствующие свойства Name в Инспекторе Объектов.

  • Чтобы выровнять компоненты, нужно их выделить, затем выбрать пункт меню View/Alignment Palette и выбрать нужную кнопку.

  • Сотрите текст из окон редактирования (либо в самом компоненте, либо в свойстве Text).

  • Рядом с окнами редактирования поместите поясняющие надписи - компоненты Label1, Label2, Label3, Label4 и измените надписи у меток соответственно на «Введите сторону А», «Введите сторону B», «Введите сторону С» и «Площадь треугольника». Чтобы изменить надпись у Label1, необходимо выбрать компонент и в свойстве Caption ввести соответствующую строку.

  • Добавьте компонент GroupBox1 и измените заголовок группы на «Способ вычисления».

  • Для реализации выбора одного из двух вариантов вычисления площади поместите на контейнер радиокнопки RadioButton1 и RadioButton2 и поменяйте надписи на «По трем сторонам» и «По двум сторонам и углу».

  • В обработчике события OnCreate формы необходимо задать по выбранный по умолчанию способ вычисления (например, по трем сторонам), т.е. написать

{ RadioButton1->Checked = true; }

  • При нажатии на RadioButton2 (событие OnClick) пользователь должен вводить угол между сторонами a и b. Для этого измените в обработчике события RadioButton2Click надпись на метке Label3 «Величина угла в градусах», а в обработчике RadioButton1Click – на «Введите сторону С»

  • Добавьте на форму кнопку Button1, измените надпись (Caption) на кнопке на «Вычислить».

  • Определим действие, которое будет выполняться при нажатии на кнопку Button1. При этом совершается событие OnClick. Нам необходимо записать операторы для вычисления суммы в обработчике этого события. Перейдите к нему можно одним из двух способов, описанных выше. В пустой обработчик добавьте

#include <math.h>

void __fastcall TForm1::Button1Click(TObject *Sender)

{ float s,p; //площадь треугольника

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