Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

例には、メイン・フォームとフォームが閉じられるときに表示されるダイアログがあります。メイン・フォームには、OKとキャンセルの2つのボタンがあります。

Image RemovedImage Added

キャンセルボタンは、CloseFormQueryメソッドを使用してフォームを閉じます。

     Invoke #Com_Owner.

...

CloseFormQuery

ボタンのほかに、フォームにはダイアログ・フォームがあります。

ダイアログ・フォームには、3つのボタンがあります。

Image AddedImage Removed
 

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値が返された場合は、フォームは閉じられます。

Image RemovedImage Added