[サンプルコード]
/*FormA >DialogB >DialogCという関係でFormA, DialogBのそれぞれで
同名のイベントハンドラを利用する例*/
---FormAの記述---
Form FormA {
X = 0;
Y = 0;
Width = 328;
Height = 184;
Button Button1 {
X = 108;
Y = 94;
Width = 100;
Height = 42;
Title = "Bを呼ぶ"
Function OnTouch( e ) {
/* DialogBを呼ぶ */
get("DialogB.crs");
}
}
Function OnDialogEvent(e){
/*同名のイベントハンドラがDialogBにもある*/
MessageBox("FormA Event","FormA Event",$OK);
}
}
---DialogBの記述---
Dialog DialogB {
Title = "DialogB";
Form Form1 {
Width = 293;
Height = 222;
Button Button1 {
X = 90;
Y = 125;
Width = 100;
Height = 45;
Title = "Cを呼ぶ";
Function OnTouch( e ) {
/* DialogCを呼ぶ */
get("DialogC.crs");
}
}
Button Button2 {
X = 37;
Y = 38;
Width = 203;
Height = 41;
Title = "Aを呼んで自分を消す";
Function OnTouch( e ) {
/* DialogBの親 = FormAのDialogEventをポストする */
DialogB.^.postEvent(userevent+1, "DialogEvent");
DialogB.Delete();
}
}
}
Function OnDialogEvent(e){
/*同名のイベントハンドラがFormAにもある*/
MessageBox("DialogB Event","DialogB Event",$OK);
}
}
---DialogCの記述---
省略
|