ボタン・ウィジェットとは異なり、チェック・ボックス・ウィジェットには状態 があります。状態とは、チェック・マークが付けられているか、または付けられていないかのいずれかを指します。 このため、コンソール・フォームでテキスト・フィールドに テキスト変数をバインドするのと同様に、チェック・ボックスにブール変数をバインドする 必要があります。 ユーザーがチェック・ボックスを選択すると、 その変数は TRUE に設定されます。 チェック・マークを外すと、変数は FALSE に設定されます。
Record checkForm type ConsoleForm {formSize=[12,40]}
myCheck consoleCheckbox
{name = "simpleCheck",
text = "ここをクリック",
bounds=[4,4,1,15]};
end
checkState boolean = false;
myForm checkForm {};
openUI myForm
bind checkState
//イベント・ハンドラーがここに入ります
end
onEvent(ConsoleCheckbox.STATE_CHANGED : "simpleCheck")
if (checkState == true)
SysLib.writeStderr("Checked");
else
SysLib.writeStderr("Cleared");
end
この方法でチェック・ボックスを使用しているコンソール UI プログラムの完全な例を以下に示します。
package programs;
import forms.checkForm;
program simpleCheckbox type BasicProgram
function main()
myWindow WINDOW {name="myWindow", position = [1,1]};
openWindow(myWindow);
myForm checkForm {};
displayForm(myForm);
textValue string = "Text.";
keepGoing boolean = true;
myCheckVar boolean = false;
while (keepGoing == true)
openUI myForm
bind textValue, myCheckVar
onEvent(ConsoleButton.PUSHED : "exitButton")
keepGoing = false;
onEvent(ConsoleCheckbox.STATE_CHANGED : "simpleCheck")
if (myCheckVar == true)
textValue = "Checked";
else
textValue = "Cleared";
end
end
end
end
end
package forms;
record checkForm type ConsoleForm { formsize=[12,40] }
introText consoleField
{name="introText",
position = [1,1],
fieldLen = 20};
myCheck consoleCheckbox
{name="simpleCheck",
text="チェック・ボックス",
bounds=[3,5,1,15]};
exitButton consoleButton
{name = "exitButton",
text = "クリックすると終了します",
bounds=[6,4,1,15]};
end