Кампанент CheckBox (флажок) выкарыстоўваецца ў дадатках для ўключэння ці выключэння якіх-небудзь опцый. На панэлі кампанентаў Standard флажок адлюстраваны ў выглядзе , імя аб'екта — CheckBox. Флажок, змешчаны на форму, атрымлівае імя — CheckBoxN, дзе N — нумар 1, 2, 3… (прыклад 6.15). Некаторыя ўласцівасці кампанента CheckBox прыведзены ў табліцы (прыклад 6.16).
Кампанент RadioButton (пераключальнік, радыёкнопка) выкарыстоўваецца ў дадатках для ўключэння ці выключэння якіх-небудзь опцый. На панэлі кампанентаў Standard радыёкнопка адлюстравана ў выглядзе , імя аб'екта — RadioButton. Пераключальнік, змешчаны на форму, атрымлівае імя — RadioButtonN, дзе N — нумар 1, 2, 3… (гл. прыклад 6.15).
Уласцівасці Caption, Alignment і Checked у радыёкнопкі супадаюць з аналагічнымі ўласцівасцямі флажка.
Звычайна радыёкнопкі ўтвараюць групы ўзаемазвязаных пераключальнікаў (кампанент RadioGroup), якія дазваляюць выбраць толькі адзін з некалькіх магчымых варыянтаў. Праца з гэтым кампанентам будзе разгледжана пазней.
Прыклад 6.17. Стварыць праект для вылічэння дзелі ад дзялення аднаго цэлага ліку на іншы. Лікі задаюцца ў тэкставых палях. Вынік вылічваецца пры націсканні на кнопку «Разделить» і змяшчаецца ў трэцяе тэкставае поле. У залежнасці ад стану флажка ў выніку выдаецца цэлае ці рэчыўнае значэнне дзелі.
Этапы выканання задання
- Змясціць на форму тры тэкставыя палі, тры надпісы, флажок і кнопку.
- Ачысціць палі Text ва ўсіх кампанентаў Edit.
- Для кампанента Edit3, у якім будзе выводзіцца адказ, устанавіць значэнне True для ўласцівасці ReadOnly.
- Змяніць уласцівасць Caption у кампанентаў Label («Делимое», «Делитель», «Частное»).
- Змяніць уласцівасць Caption кампанента Button1 на «Разделить».
- Змяніць уласцівасць Caption кампанента CheckBox1 на «Целочисленное деление».
- Напісаць апрацоўшчык падзеі OnClick для кампанента Button1.
7.1. Праверыць, што палі кампанентаў Edit1 і Edit2 не пустыя, калі гэта не так, то вывесці паведамленне «Адно з палёў не запоўнена». 7.2. Праверыць стан пераключальнiка CheckBox. Калі ён уключаны, то выканаць цэлалікавае дзяленне, інакш звычайнае дзяленне. 7.3. Вывесці вынік.
- Выканайце праграму для розных значэнняў. Праверце работу дадатку, калі адно з палёў Edit1 ці Edit2 (ці абодва палі) пустыя.
|
Прыклад 6.15. Кампаненты CheckBox (флажок) і RadioButton (радыёкнопка) на форме:

Прыклад 6.16. Уласцівасці кампанента CheckBox (флажок):
Уласцівасці
|
Прызначэнне
|
Checked
|
Значэнне True ў гэтай уласцівасці паказвае, што кампанент вылучаны (устаноўлена птушка — ), пры значэнні False кампанент не вылучаны (пустое акно індыкатара — )
|
AllowGrayed
|
Значэнне False ў гэтай уласцівасці (устаноўлена па змоўчанні) дапускае два станы флажка: вылучаны і не вылучаны, значэнне True дапускае тры станы флажка: вылучаны, не вылучаны і прамежкавае
|
State
|
Дазваляе выбраць адно з трох станаў флажка: cbChecked (вылучаны), cbGrayed (прамежкавае значэнне — ) і cbUnchecked (не вылучаны) пры значэнні True ва ўласцівасці AllowGrayed
|
Caption
|
Надпіс каля кампанента CheckBox
|
Alignment
|
Вызначае, з якога боку кнопкі змяшчаецца надпіс: taLeftJustify (злева), taRightJustify (справа)
|
Прыклад 6.17. Форма на этапе канструявання:

Апрацоўшчык падзеі OnClick для Button1.
void __fastcall TForm1::Button1Click (TObject *Sender)
{
if (Edit1 -> Text != "" &&
Edit2 -> Text != "") {
int a = StrToInt(Edit1 -> Text);
int b = StrToInt(Edit2 -> Text);
if (CheckBox1 -> Checked){
int c = a / b;
Edit3 -> Text = IntToStr(c);
}
else {
double d = 1. * a / b;
Edit3 -> Text = FloatToStrF(d, ffFixed, 5, 2);
}
}
else {
String s;
s = "Адно з палёў не запоўнена";
ShowMessage(s);
}
}
|
Дадатак у час работы:

Дзяленне цалкам:

Рэчыўны вынік дзялення:

Палі не запоўнены
|