3.1. Создание
1. Разместить на форме компоненты RadioGroup (рис. 5).
Рис. 5. Компонент RadioGroup
2. В свойстве Items щелкнуть на кнопке . Откроется Редактор строк, куда и следует ввести названия переключателей (рис. 6а).
а) б)
Рис. 6. Задание названия переключателей в группе
3. Щелкнуть на кнопке OK. Внешний вид группы переключателей показан на рис. 6б.
4. Свойства группы переключателей:
Caption определяет заголовок группы;
Columns задает число столбцов, образованных переключателями (первоначально 1);
ItemIndex содержит номер выделенного переключателя. Если значение ItemIndex равно -1, то нет выделенного переключателя.
5. Выбор нового переключателя в группе программно задается:
void __fastcall TForm1::RadioGroup1Click(TObject *Sender)
{
// Проверка условия на выделение выключателя
if(RadioGroup1->ItemIndex > -1)
Label3->Caption =
"Выбран "+ RadioGroup1->Items->Strings[RadioGroup1->ItemIndex];
}
Пример 2. Разработать приложение для выполнения различных действий, обозначения которых вводятся в поле Оператор, над переменными Операнд 1 и Операнд 2. Результат должен выводиться в поле Edit4. Кроме того, программа должна вычислять среднее арифметическое и среднее геометрическое значения трех чисел и результат должен выводиться в поле редактора Memo1.
1. Формируем внешний вид формы с использованием компонентов панели Стандартная: Label, Edit, Button, Memo (рис. 7).
Рис. 7. Внешний вид формы для разрабатываемого приложения
2. После щелчка на поле ввода Edit2 в окне Инспектора объектов на вкладке События в строке OnChange в открывшемся окне редактора кода вводим код обработчика события Edit2Change:
void __fastcall TForm1::Edit2Change(TObject *Sender)
{
int a, b;
/* ввод исходных данных */
a = StrToInt(Edit1->Text);
b = StrToInt(Edit3->Text);
if(Edit2->Text=="+") Edit4->Text = IntToStr(a+b);
if(Edit2->Text=="-") Edit4->Text = IntToStr(a-b);
if(Edit2->Text=="*") Edit4->Text = IntToStr(a*b);
if(Edit2->Text=="/") Edit4->Text = FloatToStr(float(a)/b);
}
3. Создаем обработчик событий при двойном щелчке на кнопке Очистить (см. Пример из лабораторной работы № 1).
4. Создаем обработчик события OnClick при щелчке на кнопке Закрыть:
void __fastcall TForm1::Button2Click(TObject *Sender)
{
ShowMessage("Завершение работы");
Close();
}
5. Разработаем меню для приложения. Для этого вначале щелкнем на пиктограмме (рис. 10), а затем на форме. На форме появляется значок меню .
Рис. 9. Выбор компонента MainMenu
Затем нужно щёлкнуть правой клавишей на пиктограмме Меню и в открывшемся контекстном меню выбрать Дизайнер меню, в окне Form1->MainMenu1 задать заголовки пунктов меню (рис. 11).
Рис. 10. Окно Дизайнера меню
Если пункт меню имеет горячую клавишу, то перед буквой, обозначающей горячую клавишу в поле Caption, вводится символ &, если же нужно ввести разделитель –––––, то символ «-».
Для создания обработчиков событий для каждого пункта меню необходимо дважды щелкнуть на пункте меню и затем в Редакторе кода ввести код обработчика события.
Вычисление среднего арифметического:
void __fastcall TForm1::N2Click(TObject *Sender)
{
int a,b,c,code;
double d;
AnsiString s;
a = StrToInt(Edit5->Text);
b = StrToInt(Edit6->Text);
c = StrToInt(Edit7->Text);
d = (a+b+c)/3; s = FloatToStr(d);
Memo1->Lines->Add("Среднее арифметическое = "+ s);
}
Обработчики событий для остальных пунктов меню рекомендуется создать самостоятельно.
7. Для выполнения других операций с числами в приложении применим группу переключателей.
7.1. В свойстве Caption меняем заголовок RadioGroup на Вычисления.
7.2. В инспекторе объектов раскрываем редактор строк (рис. 12), в котором вводим названия переключателей, а затем щелкаем на кнопке OK внизу окна.