ダイアログボックスの作成にもKBFComponentFrame[]と同じような書式が 使用できます。ただし、Variable:>で指定した変数に値がsetされるのは OKボタンを押した時(KBFOptionDialogの戻り値が1)だけで、Cancelボタンを 押した時(KBFOptionDialogの戻り値が0)には値はsetされません。 また、WidgetVariable:>オプションは使用できません。
FFS;
w = KBMainFrame["DialogTest", f, Title->"Dialog Box Test"];
b = Button[f, Text->"Option", Command:>ot];
s = "initial string"; n = 1; c = 1; r = 1; o = 1; l = 1;
ot := (rc = KBFOptionDialog[
Title->"Option Test",
Add->{
KBFGroup[Text->"Group1"],
KBFText[Text->"Examples of Component Arrangement"],
KBFString[Text->"String Input :", Variable:>s],
KBFNumber[Text->"Number Input :", Variable:>n],
KBFCheckButton[Text->"Check", Variable:>c],
KBFRadioButton[Items->{"Radio 1","Radio 2"}, Variable:>r],
KBFOptionMenu[Items->{"Option 1","Option 2","Option 3"}, Variable:>o],
KBFListBox[Items->{"List 1","List 2","List 3","List 4"}, Variable:>l],
KBFSeparator[],
KBFButton[Text->"Print", Command:>Print[{s,n,c,r,o,l}]]
}
];
Print[{rc,s,n,c,r,o,l}];
);
TkWait[];
上のコードを実行した結果は下のようになります。
Optionボタンを押すと、下のウインドウが開きます。一番下のOkとCancelの ボタンは自動的に作られます。