Page History
...
例には、メイン・フォームとフォームが閉じられるときに表示されるダイアログがあります。メイン・フォームには、OKとキャンセルの2つのボタンがあります。
キャンセルボタンは、CloseFormQueryメソッドを使用してフォームを閉じます。
Invoke #Com_Owner.
...
CloseFormQueryボタンのほかに、フォームにはダイアログ・フォームがあります。
ダイアログ・フォームには、3つのボタンがあります。
3つのボタンすべてにフォームを閉じるClickイベント・ルーチンがあります。
...
EVTROUTINE HANDLING(#BTN_CLOSE.Click)
...
Invoke #Com_Owner.
...
CloseForm
ENDROUTINE
EVTROUTINE HANDLING(#BTN_CANCEL.Click)
...
Invoke #Com_Owner.CloseForm
...
ENDROUTINE
EVTROUTINE HANDLING(#BTN_MIN.Click)
...
Invoke #Com_Owner.CloseForm
ENDROUTINE
...
その他に、それぞれのModalResult値があり、以下のように値が設定されます。
...
フォームの終了を続行するかどうかは、Continueパラメータで使用される#Optionフィールドの値で決定します。
...
EvtRoutine Handling(#Com_Owner.CloseQuery)
...
Continue(#Option)
...
Invoke #Dialog.ShowModalForm
...
Define #QResult Reffld(#Std_Texts)
...
Change #QResult #Dialog.modalResult
Case #QResult
When '= No'
Invoke #Com_Owner.RestoreForm
...
Set #Option Value(FALSE)
...
When '=
...
OK'
...
Invoke #Com_Owner.MinimizeForm
...
Set #Option Value(FALSE)
...
OtherWise
Set #Option Value(TRUE)
...
EndCase
EndRoutine
caseステートメントでは、ダイアログ・フォームから返されるModalResult値がNo(キャンセルボタンに割り当てられる)の場合にメイン・フォームを元の大きさに戻し、返された値がOK(最小化ボタンに割り当てられる)の場合は、メイン・フォームを最小化します。どちらの場合も、ContinueパラメータはFalseに設定されます。これ以外のModalResult値が返された場合は、フォームは閉じられます。




