5.9.9 GENDSP01パターンを使用したヘルプ画面の表示
(1) 処理の概要
受注データ登録画面を一次ウィンドウとして表示します。「顧客コード」または「商品コード」にカーソルがあるときに[F10]キーを押すと,それぞれの項目の入力を補助するためのヘルプ画面を二次ウィンドウとして表示します。
ヘルプ画面から一次ウィンドウに戻ると,ヘルプ画面は消えて,一次ウィンドウが活性状態になります。入力途中でヘルプ画面を表示した場合でも,そのデータは保証されます。
顧客コードの項目に対するヘルプ画面を表示する場合の処理の概要を次に示します。
図5-25 ヘルプ画面の表示処理
![[図データ]](figure/zu04l400.gif)
(2) 使用するマップの概要
作成するGUI画面の基になる定義サンプルを次に示します。
- 受注データ登録画面の定義サンプル:GFILD3ND
- ヘルプ画面の定義サンプル:HELP01ND
ヘルプ画面のレイアウトは,任意に定義してください。
一次ウィンドウ作成時には,次の注意が必要です。
- 一次ウィンドウに対する二次ウィンドウの表示位置をあらかじめ指定しておく。
- 一次ウィンドウには,ヘルプ画面を表示するためのファンクションキー,またはプッシュボタンを割り当てておく。
二次ウィンドウであるヘルプ画面を作成するときには,次の点に注意する必要があります。
- サンプルは一次ウィンドウのため,二次ウィンドウとして指定し直す必要がある。
また,ヘルプ画面には,次の特長があります。
- [OK]ボタンのプッシュボタンダイアログで「二次ウィンドウを閉じる」の属性が指定してある。
- 画面に入出力フィールドは配置していない。
(3) AP作成上のポイント
作成するAPの基になるAPパターンとAP部品を次に示します。
- メインプログラムで使用するAPパターン:GENDSP01
- サブルーチンで使用するAP部品:FLDHLP01
このAP部品を使用してAPを作成するには,次の注意が必要です。
- 一次ウィンドウの再表示ではマッピングオプションを変更する。
- ヘルプ画面消去後も一次ウィンドウでの入力データを保持するために,入力フォーカス項目とフォーカス定数を比較して,フォーカスのあるフィールドを特定する。
(4) コーディング例
この例題のソースプログラムを「HELPOUT.cbl」として/opt/HIXMAP/samples/COBOLに標準提供しています。ソースプログラムからコーディング上のポイントを抜粋して次に示します。
![[図データ]](figure/zu04l500.gif)
- マップ名を変更する
プログラム中の「@@@555」を「GFILD3」に変更し,「HELP01O」と「HELP01I」の取り込み処理を追加します。
- [F10]キーを押したかどうかのチェック処理を追加する
- APパターン「GENDSP01」にAP部品「FLDHLP01」を取り込み,@@@333を「HELP01」に変更する
- カーソルのあるフィールドを特定する処理を追加する
- ヘルプ画面を表示する処理を追加する