4.2.5 コマンドコントロールの制御
GUI画面のコマンドコントロールとは,次の二つのオブジェクトです。
-
プッシュボタン
-
メニューバー
ここでは,プッシュボタンボックスにフォーカスがある場合,プッシュボタンの表示を変更するときのコーディング例について説明します。
プッシュボタンボックスでは,プッシュボタンが選択されたときに画面が確定されるので,APで入力論理マップのプッシュボタンに対応したイベント通知コードを参照できます。イベント通知コードを条件にして,再び画面を表示するときに,プッシュボタンのラベルや表示状態を変更できます。
プッシュボタンダイアログの「動的変更(APから表示属性を変更する)」を選択すると,動的変更を利用して,プッシュボタンの活性,不活性をAPで指定できます。APでの指定がない場合は,プッシュボタンダイアログで指定した属性を表示します。
AP実行時に,条件別にプッシュボタンの状態を変更する例を次の図に示します。
入出力テキストにデータが入力されている場合と入力されていない場合で,プッシュボタンの表示を変更します。
入出力テキストにデータが入力されている場合は,次の画面表示で,[登録]ボタンを[確認]ボタンに変更します。入出力テキストにデータが入力されていない場合は,[登録]ボタンの状態を不活性に変更します。
入出力テキストのデータの有無を条件にしたプッシュボタンの表示を変更するコーディング例を次に示します。
IF MAP001-FILED001-I NOT EQUAL SPACE. …入出力テキストの入力有無チェック THEN MOVE ' 確認 ' TO MAP001-BUTTON0001-O. …ラベルを変更する ELSE MOVE MAP001-BUTTON-SEL1 TO MAP001-BUTTON0001-A. …プッシュボタンを不活性にする ENDIF ENDIF |
プッシュボタンの表示属性を変更する場合,制御項目「MAP001-BUTTON0001-A」に修飾名を代入します。
修飾名はドローセットアップで定義できます。ドローセットアップで定義した修飾名は動的変更テーブルとして保存されます。APでは,APに取り込んだ動的変更テーブルの修飾名を制御項目に代入してください。
- 注意事項
-
マッピングモードが「論理マップだけ」,表示形態が「一部上書」の場合,画面を表示するときに,データ有無コードや定義されていない修飾名を制御項目に代入しても,プッシュボタンに定義した属性には戻りません。プッシュボタンに定義した属性に戻したい場合は,ドローセットアップですべての属性を「変更なし」に設定した修飾名を設定し,制御項目名に代入してください。
APへ通知するコードとしてA001やA002を定義した場合,[Ctrl]+[F1],[Ctrl]+[F2]などを押しても同じ通知コードがAPに返ります。プッシュボタン専用の通知コードをAPに返したい場合は,A061〜A071を定義してください。