8.5.8 コンボボックス
コンボボックスは,メニュー項目からデータを選択するときに使用します。
コンボボックスには,データをメニュー項目選択およびキー入力で入力するもの(キー入力コンボボックス)と,メニュー項目選択だけで入力するもの(メニュー選択コンボボックス)があります。それぞれに固定と可変があります。ドローでこれらのオブジェクトを定義するときは,コンボボックスアイコンをクリックして,種類を切り替えてから使用します。
このマニュアルでは,特に書き分けていない場合,コンボボックスはメニュー選択コンボボックスとキー入力コンボボックスの両方を指します。
(1) 設定できる項目
コンボボックスの項目と設定できる値を次の表に示します。
項目 |
動的変更 |
設定できる値 |
||||
---|---|---|---|---|---|---|
メニュー選択コンボボックス |
キー入力コンボボックス |
メニュー選択コンボボックス |
キー入力コンボボックス |
|||
表示属性 |
表示方法 |
○ |
− |
入力可能-標準表示, 入力可能-文字だけ非表示, 入力不可-標準表示, 入力不可-グレーアウト表示, 入力不可-文字だけ非表示, 全体非表示 |
入力可能-標準表示, 入力可能-文字だけ非表示, 入力不可-標準表示, 入力不可-グレーアウト表示, 入力不可-文字だけ非表示, 全体非表示 |
|
遷移条件 |
− |
− |
固定値(自動スキップ) |
手動スキップ・右寄せ, 手動スキップ・全桁必須, 手動スキップ, 自動スキップ |
||
背景色 |
○ |
− |
白,赤,緑,青,ライトレッド,ライトブルー,黄,グレー,黒,ダークグレー,ライトグレー,ダークグリーン,ライトグリーン,ライトイエロー,ダークブルー,透明 |
白,赤,緑,青,ライトレッド,ライトブルー,黄,グレー,黒,ダークグレー,ライトグレー,ダークグリーン,ライトグリーン,ライトイエロー,ダークブルー,透明 |
||
枠高 |
− |
− |
3ます,2.5ます,2ます |
3ます,2.5ます,2ます |
||
文字色 |
○ |
− |
白,赤,緑,青,紫,空,黄,黒,ダークレッド,ダークブルー,ダークグリーン,ダークイエロー |
白,赤,緑,青,紫,空,黄,黒,ダークレッド,ダークブルー,ダークグリーン,ダークイエロー |
||
文字サイズ |
− |
− |
大,標準,小 |
大,標準,小 |
||
文字の書体 |
− |
− |
標準,明朝,ゴシック |
標準,明朝,ゴシック |
||
文字の強調 |
− |
− |
標準,太字,斜体,太字&斜体 |
標準,太字,斜体,太字&斜体 |
||
反転表示する |
○ |
− |
チェックあり/チェックなし |
チェックあり/チェックなし |
||
フォーカス設定(初期フォーカスを本ボックスに設定する) |
− |
− |
チェックあり/チェックなし |
チェックあり/チェックなし |
||
選択済み(選択しなくても通知コードをAPに返す) |
− |
− |
チェックあり/チェックなし |
− |
||
入力済み(入力しなくても通知コードをAPに返す) |
− |
− |
− |
チェックあり/チェックなし |
||
自動送信(選択直後にAPへ制御を渡す) |
○ |
− |
チェックあり/チェックなし |
チェックあり/チェックなし |
||
入力必須(入力しない時はエラーにする) |
− |
○ |
− |
チェックあり/チェックなし |
||
ワンタッチクリア(選択状態にする) |
− |
○ |
− |
チェックあり/チェックなし |
||
ボックス反復※1 |
− |
− |
回数は, 縦方向:1〜96 横方向:1〜160 間隔は, 縦方向:0〜92 横方向:0〜158 |
回数は, 縦方向:1〜96 横方向:1〜160 間隔は, 縦方向:0〜92 横方向:0〜158 |
||
メニュー |
使用目的 |
− |
− |
英数,日本語 |
数字,カナ,英数,日本語 |
|
詳細項目※2 |
− |
− |
− |
|||
コメントの記述 |
− |
− |
文字数:40文字(半角) |
文字数:40文字(半角) |
||
文字色 |
− |
− |
白,赤,緑,青,紫,空,黄,黒,ダークレッド,ダークブルー,ダークグリーン,ダークイエロー |
白,赤,緑,青,紫,空,黄,黒,ダークレッド,ダークブルー,ダークグリーン,ダークイエロー |
||
APが受け取る通知コードの項目 |
データ名 |
− |
− |
|||
桁 |
− |
− |
||||
データ長 |
− |
− |
||||
データ型 |
− |
− |
||||
桁寄せ |
− |
− |
||||
埋字 |
− |
− |
||||
動的変更(APから表示属性を変更する) |
− |
− |
||||
データ長を変更する |
− |
− |
||||
APから初期値を変更する |
− |
− |
||||
初期値(通知コード) |
− |
− |
||||
自由な設定 |
− |
− |
||||
APが渡す項目(可変) |
メニューの項目数 |
− |
− |
|||
ラベルのデータ長を変更する |
− |
− |
||||
ラベル |
データ名 |
− |
− |
|||
桁 |
− |
− |
||||
データ長 |
− |
− |
||||
データ型 |
− |
− |
||||
桁寄せ |
− |
− |
||||
埋字 |
− |
− |
||||
自由な設定 |
− |
− |
||||
APに返す通知コード |
データ名 |
− |
− |
|||
桁 |
− |
− |
||||
データ長 |
− |
− |
||||
データ型 |
− |
− |
||||
固定メニューのラベル/通知コード |
メニューの項目数※3 |
− |
− |
|||
ラベルと通知コードの一覧 |
− |
− |
||||
追加 |
− |
− |
||||
削除 |
− |
− |
||||
ラベル※3 |
− |
− |
||||
通知コード※3 |
− |
− |
(2) メニュー選択コンボボックス
メニュー選択コンボボックスは,入力するデータを,候補(メニュー項目)から選択することで指定するオブジェクトです。このとき,キー入力でメニューの内容を編集することはできません。
メニュー選択コンボボックスのメニューは,オブジェクトとして常に表示されてはいません。したがって,必要な場合だけ入力するオプションを選択したり,画面上に入力候補となるデータを表示する領域を十分に確保できないときに使用することをお勧めします。
なお,メニュー選択コンボボックスの表示属性については,「12.1 画面定義のリファレンス情報」を参照してください。
(a) 表示形式
- 注
-
メニューのタイトルはありません。
(b) 使用目的
使用目的によって,入力データをチェックできます。使用目的と入力データの関係については,「12.1. 10 使用目的と詳細目的」の表12-8を参照してください。
(c) 表示サイズとメニュー項目数
メニュー選択コンボボックスの固定コンボボックスおよび可変コンボボックスを表示する領域(表示サイズ)は,必ずウィンドウに収まるようにドロー上で定義します。コンボボックスのメニュー項目数が,表示領域に収まらない場合は,自動的にスクロールバーが付けられます。ドローで定義したコンボボックスのメニューの行数よりも少ないメニュー項目をAPから設定した場合は,表示するメニューサイズを項目数に合わせて自動的に縮小します。なお,メニュー項目は最大128個,指定できます。
(d) キーを押したときの動作の選択
メニュー選択コンボボックスはキーで操作できます。キーで操作するときのメニュー選択コンボボックスの動きは,XMAP3実行環境の表示・印刷環境ファイルで設定できます。キーを押したときのメニュー選択コンボボックスの動きを次に示します。なお,コンボボックスのメニューが閉じているときの動作の設定についてはマニュアル「XMAP3 実行ガイド」を参照してください。
-
カーソルキーでメニューを開くモード
メニュー選択コンボボックスにフォーカスが位置づいているときに,カーソル移動キーを押すと,メニューが表示されます。表示されたメニューから,メニュー項目を選択します。
-
カーソルキーでメニューを選択するモード
メニュー選択コンボボックスにフォーカスが位置づいているときに,カーソル移動キーを押すと,メニューを開かない状態で,メニュー項目を選択します。カーソル移動キーを押すごとに,次のメニュー項目が選ばれ,逐次,選択したラベルとして表示されます。
(e) 入出力時のAPの操作
メニュー選択コンボボックスには,固定コンボボックスと可変コンボボックスとがあります。固定コンボボックスは,画面設計時に入力データの候補となるメニューが決まっている場合に使用します。可変コンボボックスは,メニューのラベルおよびメニューの通知コードをAPから設定したい場合に使用します。
メニュー選択コンボボックスで選択されたメニューはボックス内に表示され,画面確定後には,メニューに対応した通知コードが入力論理マップに格納されます。
(f) 表示属性の動的変更
メニュー選択コンボボックスの表示属性をAP実行時に変更できます。表示属性の動的変更については「8.2.4 表示属性の動的変更」を参照してください。
(g) APから初期値を変更する
「APから初期値を選択する」を指定すると,初期値用のデータエリア「マップ−FIELD」が出力論理マップ中に生成されます。ここに値を代入すると,コンボボックスの初期表示時に,初期値が選択された状態で表示されます。
(h) メニュー項目数の動的変更(可変コンボボックスの場合)
コンボメニューのダイアログでは,使用するメニュー項目数の最大値を指定しておきます。しかし実際の表示では,メニュー項目数が可変になる場合があります。上から順に項目のデータを代入し,残った項目のラベルに半角の空白(スペースコード)を代入すると,空白を代入したメニュー項目は表示されません。なお,途中のメニュー項目を詰めて表示することはできません。空白のラベルをメニューの最後に表示させたい場合は,ラベルのデータに全角のスペースを代入してください。途中のメニュー項目の空白はデータと見なされます。動的変更については,マニュアル「XMAP3 プログラミングガイド」を参照してください。
(3) キー入力コンボボックス
キー入力コンボボックスは,入力するデータを,候補(メニュー項目)から選択したり,直接,キー入力したりして指定するオブジェクトです。キー入力コンボボックスの規則はメニュー選択コンボボックスの規則とほとんど同じです。ここでは,メニュー選択コンボボックスと異なる規則について説明します。なお,キー入力コンボボックスの表示属性については,「12.1 画面定義のリファレンス情報」を参照してください。
(a) 表示形式
- 注1
-
メニューのタイトルはありません。
- 注2
-
メニューが開いている状態で入出力ボックスにデータを入力した場合,入力したデータと一致するコードがある場合は,対応するメニュー項目が選択された状態で表示されます。キー入力したデータと一致するコードがない場合,メニューを表示しても,何も選ばれていない状態で先頭のメニュー項目が表示されます。
(b) 使用目的と詳細目的
APが受け取る通知コードの「データ型」「桁寄せ」および「埋字」に設定できる値は,「使用目的」および「詳細目的」によって決まります。キー入力コンボボックスの「使用目的」については「12.1.10 使用目的と詳細目的」の表12-8を参照してください。「使用目的」と「詳細目的」の組み合わせについては「12.1.10 使用目的と詳細目的」の表12-9を参照してください。
(c) ボックス内のデータ表示
キー入力コンボボックスにフォーカスがあるときで,メニュー項目が表示されていない場合,ボックス内のデータにはカーソルが位置づきます。また,ボックス内のデータをワンタッチクリアすることもできます。ワンタッチクリアについては「12.1.9 表示属性の解説」を参照してください。
(4) コンボボックス使用時の注意事項
大量の項目を持つメニュー選択コンボボックスおよびキー入力コンボボックスを,画面に大量に定義すると,生成されるウィンドウ数がWindowsの上限値を超えてしまい,画面を表示する際にAPにエラーが通知されることがあります。この場合は,定義するコンボボックスの個数またはメニュー項目数を減らすようにしてください。