画面・帳票サポートシステム XMAP3 プログラミングガイド


4.2.5 コマンドコントロールの制御

GUI画面のコマンドコントロールとは,次の二つのオブジェクトです。

ここでは,プッシュボタンボックスにフォーカスがある場合,プッシュボタンの表示を変更するときのコーディング例について説明します。

プッシュボタンボックスでは,プッシュボタンが選択されたときに画面が確定されるので,APで入力論理マップのプッシュボタンに対応したイベント通知コードを参照できます。イベント通知コードを条件にして,再び画面を表示するときに,プッシュボタンのラベルや表示状態を変更できます。

プッシュボタンダイアログの「動的変更(APから表示属性を変更する)」を選択すると,動的変更を利用して,プッシュボタンの活性,不活性をAPで指定できます。APでの指定がない場合は,プッシュボタンダイアログで指定した属性を表示します。

AP実行時に,条件別にプッシュボタンの状態を変更する例を次の図に示します。

図4‒12 プッシュボタンの状態を変更する例

[図データ]

入出力テキストにデータが入力されている場合と入力されていない場合で,プッシュボタンの表示を変更します。

入出力テキストにデータが入力されている場合は,次の画面表示で,[登録]ボタンを[確認]ボタンに変更します。入出力テキストにデータが入力されていない場合は,[登録]ボタンの状態を不活性に変更します。

入出力テキストのデータの有無を条件にしたプッシュボタンの表示を変更するコーディング例を次に示します。

図4‒13 プッシュボタンの表示を変更するコーディング例
 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を定義してください。