手続きは、以下のように記述します。
カスタムメソッドが呼び出されたときの手続き
カスタムメソッドが呼び出されたときの手続きは、カスタムメソッド"SelectColor"のInvokedイベントに、以下のように記述します。
ENVIRONMENT DIVISION. DATA DIVISION. WORKING-STORAGE SECTION. LINKAGE SECTION. 01 POW-COLOR PIC S9(9) COMP-5. 01 RETURN-VALUE PIC S9(4) COMP-5. PROCEDURE DIVISION USING POW-COLOR RETURN-VALUE. * 復帰値を初期化します。 MOVE POW-TRUE TO RETURN-VALUE * 選択されている色を変更します。 EVALUATE POW-COLOR WHEN POW-COLOR-RED MOVE POW-TRUE TO "Value" OF OP-COLOR(1) WHEN POW-COLOR-GREEN MOVE POW-TRUE TO "Value" OF OP-COLOR(2) WHEN POW-COLOR-BLUE MOVE POW-TRUE TO "Value" OF OP-COLOR(3) WHEN OTHER * 赤、緑、青以外の場合、復帰値をFALSEにします。 MOVE POW-FALSE TO RETURN-VALUE END-EVALUATE MOVE POW-COLOR TO "SelectedColor" OF POW-SELF
ポイント
連絡節のPOW-COLORは、カスタムメソッドのパラメタに定義したColorを意味し、その項類は、Colorパラメタの型(VT_I4)に対応してします。また、RETURN-VALUEは、カスタムメソッドの復帰値で、その項類は、カスタムメソッド自身の型(VT_BOOL)に対応しています。
型とCOBOLの項類との対応については、『リファレンス』を参照してください。
カスタムイベントの発生方法
カスタムイベントは、以下の記述形式で発生させることができます。
INVOKE カスタムイベント名 ”Invoke” USING [パラメタ・・・]
カスタムイベントの名前です。
カスタムイベントのパラメタです。指定するパラメタ数およびその型は、カスタムイベントのパラメタの定義と一致していなければなりません。
ありません。
色が変更されたときの手続き
色が変更された場合、オプションボタンコントロールのClickイベントが発生します。したがって、選択中の色を示すカスタムプロパティ"SelectedColor"は、オプションボタンコントロールのClickイベント内で更新します。また、色が変更されたときに利用者へ通知するカスタムイベント"OnSelect"を、オプションボタンコントロールのClickイベント内で発生させます。
ENVIRONMENT DIVISION. DATA DIVISION. WORKING-STORAGE SECTION. 01 WK-COLOR-NEW PIC S9(9) COMP-5. 01 WK-COLOR-OLD PIC S9(9) COMP-5. LINKAGE SECTION. 01 POW-INDEX PIC S9(9) COMP-5. PROCEDURE DIVISION USING POW-INDEX. * 選択されている色を保存しておきます。 MOVE "SelectedColor" OF POW-SELF TO WK-COLOR-OLD * 新しく選択された色を求めます。 EVALUATE POW-INDEX WHEN 1 MOVE POW-COLOR-RED TO WK-COLOR-NEW WHEN 2 MOVE POW-COLOR-GREEN TO WK-COLOR-NEW WHEN 3 MOVE POW-COLOR-BLUE TO WK-COLOR-NEW END-EVALUATE * 色が変更されていれば、カスタムイベントを発生させます。 IF WK-COLOR-NEW NOT = WK-COLOR-OLD THEN INVOKE OnSelect "Invoke" USING WK-COLOR-NEW END-IF * カスタムプロパティに色を設定します。 MOVE WK-COLOR-NEW TO "SelectedColor" OF POW-SELF