手続きは、以下のように記述します。
フォームが最初に開かれたときの手続き
最初に、フォームの背景色の初期値として赤を選択します。
ENVIRONMENT DIVISION. DATA DIVISION. WORKING-STORAGE SECTION. PROCEDURE DIVISION. * ActiveXコントロールで選択されている色の初期値を設定します。 INVOKE SelectColorControl1 "SelectColor" USING POW-COLOR-RED
ポイント
SelectColorメソッドは、「9.2 ActiveXコントロールを作成する」で、ActiveXコントロールを作成したときに定義したカスタムメソッドです。
このように、カスタムメソッドやカスタムプロパティは、ActiveXコントロールを利用する側(コンテナ側)の手続き中で利用することができます。
また、カスタムメソッドやカスタムプロパティに加え、フォームの以下のメソッドおよびプロパティを利用できます。
Activateメソッド
Deactivateメソッド
DoModalメソッド
Enabledプロパティ
メソッドの使用方法については、後述の「9.3.4 ボタンがクリックされたときの手続きを記述する」を参照してください。
また、メソッドとプロパティの詳細については、『リファレンス』を参照してください。
色の選択肢が変更されたときの手続き
ActiveXコントロールの色の選択肢が変更された場合、ActiveXコントロールのOnSelectイベントが発生します。その場合、選択肢に合わせてフォームの背景色を変更します。
ENVIRONMENT DIVISION. DATA DIVISION. WORKING-STORAGE SECTION. LINKAGE SECTION. 01 POW-COLOR PIC S9(9) COMP-5. PROCEDURE DIVISION USING POW-COLOR. * ActiveXでの選択肢が変更されたらフォームの背景色を変更します。 MOVE POW-COLOR TO "BackColor" OF POW-SELF
ボタンがクリックされたときの手続き
[赤に戻す]ボタンがクリックされた場合、ActiveXコントロール上の選択肢を赤に変更し、フォームの背景色を赤に戻します。
ENVIRONMENT DIVISION. DATA DIVISION. WORKING-STORAGE SECTION. LINKAGE SECTION. PROCEDURE DIVISION. * ActiveXのメソッドを呼び出して、選択されている色を赤に戻します。 INVOKE SelectColorControl1 "SelectColor" USING POW-COLOR-RED
ここで、モジュールをビルドし、作成したアプリケーションを実行してみてください。配置したActiveXコントロールは、フォーム上にそのまま表示され、オプションボタンの選択により、フォームの背景色を変更できます。