Лекция №3
Тема: Форма и ее параметры. Компоненты Checkbox, radiobutton.
Для организации возможности выбора одного или нескольких значений в C++ Builder используются переключатели.
Компонент RadioButton предназначен для выбора между несколькими взаимоисключающими вариантами. Радиокнопки образуют группы взаимосвязанных индикаторов, из которых обычно может быть выбран только один.
Рассмотрим основные свойства компонента.
Свойство Caption содержит надпись, появляющуюся около кнопки. Значение свойства Alignment определяет, с какой стороны от кнопки появится надпись: taLeftJustify – слева, taRightJustify – справа (это значение принято по умолчанию). Свойство Checked определяет, выбрана ли данная кнопка пользователем, или нет. Поскольку в начале выполнения приложения обычно надо, чтобы одна из кнопок группы была выбрана по умолчанию, ее свойство Checked надо установить в true в процессе проектирования.
Компонент CheckBox. Индикаторы с флажком CheckBox используются в приложениях для того, чтобы пользователь мог включать и выключать какие-то опции, или для индикации состояния. При каждом щелчке пользователя на индикаторе его состояние изменяется, проходя в общем случае последовательно через три значения: выделение (появление черной галочки), промежуточное (серое окно индикатора и серая галочка) и не выделенное (пустое окно индикатора). Этим трем состояниям соответствуют три значения свойства компонента State: cbChecked, cbGrayed, cbUnchecked. Впрочем, эти три состояния допускаются только при значении другого свойства AllowGrayed равном true. Если же AllowGrayed = false (значение по умолчанию), то допускается только два состояния: выделенное и не выделенное.
Пример 11. Программа тестировщик.
Рисунок 30. Интерфейс программы
Решение: Код кнопок:
int n=0,s=0,k=0;
{Кнопка “Ok” }
void __fastcall Tform1::Button1Click(TObject *Sender)
{
n++;
if (n==1 && RadioButton1->Checked) s++;
if (n==2 && RadioButton3->Checked) s++;
if (n==3 && RadioButton2->Checked) s++;
}
{ Кнопка “Следующий” }
void __fastcall Tform1::Button2Click(TObject *Sender)
{
k++;
RadioButton1->Checked=false;
RadioButton2->Checked=false;
RadioButton3->Checked=false;
if (k==1) {Edit1->Text="Тип файла описания формы в Borland C++?";
RadioButton1->Caption="h";
RadioButton2->Caption="cpp";
RadioButton3->Caption="frm"; }
if (k==2) {Edit1->Text=" Тип файла модуля в Borland C++?";
RadioButton1->Caption="dpr";
RadioButton2->Caption="cpp";
RadioButton3->Caption="frm"; }
if (k==3) Edit2->Text="Количество правильных ответов: "+ IntToStr(s);
}
Пример 12. По номеру времени года, вывести названия месяцев.
Рисунок 31. Интерфейс программы
Решение:
void __fastcall Tform1::RadioButton1Click(TObject *Sender)
{
Edit1->Text="декабрь, январь, февраль";
}
void __fastcall Tform1::RadioButton2Click(TObject *Sender)
{
Edit1->Text="март, апрель, май";
}
void __fastcall Tform1::RadioButton3Click(TObject *Sender)
{
Edit1->Text="июнь, июль, август";
}
void __fastcall Tform1::RadioButton4Click(TObject *Sender)
{
Edit1->Text="сентябрь, октябрь, ноябрь'';
}
Достарыңызбен бөлісу: |