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


4.2.7 初期フォーカスの動的変更

画面を表示したときの初期フォーカス位置をAPで指定できます。APでフォーカス位置を指定しないと,フォーカス位置はドローで定義した初期フォーカス位置に指定されます。

ここでは,入出力テキストにフォーカスを位置づけて表示する場合のコーディング例について説明します。

AP実行時のフォーカスの位置づけを次の図に示します。

図4‒16 フォーカスの位置づけ

[図データ]

顧客コードに初期フォーカス位置を指定するために,出力論理マップにフォーカス定数を代入します。顧客コードにフォーカスがある状態で,画面が表示されます。フォーカスを支店コードに移動すると,入力論理マップにフォーカス定数が格納されます。

フォーカス位置を特定するコーディング例を次に示します。

図4‒17 フォーカス位置を特定するコーディング例
 MOVE  MAP001-FILED0002-T  TO  MAP001-OUTCURS-LOCO.     …フォーカス定数を設定
  :
  :
 IF MAP001- INCURS-LOCI = MAP001-FILED0003-T.        …フォーカス位置を特定
 THEN
  :  

出力論理マップのフォーカス制御項目に,フォーカスを設定するオブジェクトのフォーカス定数を格納します。画面上で,フォーカスのあるオブジェクトのフォーカス定数は,入力論理マップのフォーカス制御項目で受け取ります。

オブジェクトごとのフォーカス定数は,XMAP3 が自動的に生成します。なお,定数は,各オブジェクトのAPが受け取る項目のデータ名に「T」を付けて,定数テーブルとしています。このため,画面のオブジェクトの位置を変更しても,AP を変更する必要はありません。定数テーブルの値は,初期カーソル設定でも使用できるので,フィールドボックスへのフォーカスと,ボックス内の入出力フィールドへのカーソルを同時に設定できます。