画面・帳票サポートシステム XMAP3 プログラミングガイド 画面編
描画ソフトであらかじめ作成しておいたグラフィックファイルを,ファイルやクリップボードを経由してAPが実行時に表示する機能です。 グラフィックデータを画面に表示する命令は,AP側で指定します。XMAP3ではグラフィックデータを受け渡す領域を定義します。 APから表示の命令が来ると,XMAP3は「グラフィックデータの渡し方」に定義したファイル名,または取り込み元がクリップボードである指示を基にしてグラフィックデータを取り込み,画面上に表示します。なおグラフィックファイルのサイズやデータ形式については「付録D 画面定義の制限値」を参照してください。
- <この項の構成>
- (1) 表示処理
- (2) 出力時のAPインタフェース
- (3) 実行時の注意事項
グラフィックデータ出力の仕組みを次の図に示します。
図2-4 グラフィックデータの出力
(2) 出力時のAPインタフェース
- イメージデータを表示する場合
イメージデータをスキャナやイメージOCRなどから入力し,ファイルに格納しておきます。APからこのファイル名を論理マップに代入し,SEND要求をすると,XMAP3実行支援が指定されたファイルからデータを入力して表示します。APから直接イメージデータを論理マップに代入することはできません。グラフィックデータを格納しておくフォルダは実行支援の動作をしているPCの「グラフィックフォルダ(ディレクトリ)」です。グラフィックパスは表示・印刷セットアップで設定します。
- グラフを表示する場合
描画ソフトを使用してグラフを作成し,グラフィックデータとしてファイルまたはクリップボードに格納します。日立COBOLで提供するOLE2オートメーションインタフェース機能を使用することでExcelなどのグラフ作成ツールを呼び出せます。APからこのファイル名を論理マップに代入し,SEND要求をすると,XMAP3実行支援が指定されたファイルからデータを入力して表示します。APから直接イメージデータを論理マップに代入することはできません。グラフィックデータを格納しておくフォルダは実行支援の動作をしているPCの「グラフィックフォルダ(ディレクトリ)」です。グラフィックパスは表示・印刷セットアップで設定します。
(3) 実行時の注意事項
- グラフの変更による再表示
グラフを変更して再表示するには,再度グラフ表示アプリケーションを操作して,グラフデータを作成します。OLE2処理を終了している場合,APの開始から始める必要があります。ただし,OLE2処理はほかのAPを起動する処理などを行うため,処理が遅くなることが考えられます。表示したグラフを変更することが考えられる場合,グラフ作成ごとにグラフ表示アプリケーションの開始や終了をするのではなく,表示アプリケーションを起動しておくなどの配慮が必要です。
- グラフィックファイルのフォーマット
XMAP3が扱えるグラフィックファイルフォーマットは,ファイル出力の場合はファイル拡張子,クリップボード出力の場合はクリップボード格納形式で判断します。
- グラフィックファイルのサイズ
グラフィックデータのサイズの制限値は表示処理に必要なWindowsリソース(使用できるメモリ量など)に制限される以外はありません。ただし,サイズが大きくなると,データ読み込みや展開などの表示処理に時間が掛かるため,100KB以内にしておくことをお勧めします。
なお,サイズが小さい画像(ビットマップおよびJPEG)を大きい領域に表示すると,正常に表示されないことがあります。この場合,画像自体のサイズを大きくするか,表示領域のサイズを小さくしてください。
- ウィンドウのサイズ/大きさの制限
- 1ウィンドウ中の領域の数,または大きさの制限値はウィンドウサイズによる制限以外はありません。ただし,数やサイズが大きくなってくると,表示処理に要する時間も大きくなるため,できる限り1個にすることをお勧めします。
- クリップボードはOSが用意するものを使用するため,グラフィックデータは1度に1種類だけの保存・表示になります。そのため,1ウィンドウの中に,複数グラフィックデータを表示する場合は,ファイルからの読み込みを併用することになります。
- グラフィックファイルの格納場所は,表示・印刷セットアップで指定した特定のディレクトリ下1か所だけになります。ファイル数の制限値はOSの制限値になります。
- グラフィックデータの表示はファイル,またはクリップボード内のデータをそのまま表示します。つまり,回転・縮小・拡大・減色などの操作は,ファイルなどに書き込むAPでオブジェクトのプロパティを操作するなどして,あらかじめ処理しておいてください。ただし,表示領域サイズがグラフィックデータサイズと異なる場合,領域サイズに合うようにグラフィックデータを拡大縮小する処理は,画面定義時のオプションとして指定できます。
- グラフィックデータサイズが表示領域サイズより大きい場合,画面定義時のオプションで,領域サイズに合うようにグラフィックデータを拡大縮小しないで,スクロール表示できます。その際,リストボックスと同様,スクロールバーはグラフィックデータサイズと表示領域サイズの大小に関係なく常に表示されます。
- グラフィックデータの表示
- グラフィックデータ表示領域はキーボードからデータ入力されない領域のため,タブキーなどでフォーカスが位置づきません。そのため,スクロールバーの操作はマウスだけになります。
- 表示色数が少ないディスプレイ(256色)に対して,表示色が多いグラフィックデータを表示する場合は,OSが色の再割り当てをするため,意図した色が表示されない場合があります。グラフィックデータに使用する色数はできる限り16色以内に抑えた方が安全です。
- グラフィックデータは一般的にデータ量が大きく,そのサイズや個数が多くなるにつれ,処理に要する時間も比例して大きくなります。表示に要する時間を短縮するためには,1画面に表示するグラフィックデータは1個にしたり,大きさを小さくしたりするなどして処理時間を軽減してください。
- クリップボードの利用
- クリップボードへの入出力は,ファイルへの入出力よりも短い時間で処理できます。表示するグラフィックデータは1個にして,クリップボード経由でXMAP3に引き渡すなどして処理時間を軽減してください。また,ファイルを使用する場合は,RAMディスクに割り当てると表示性能を確保できる場合があります。
- クリップボードはシステムに一つだけです。そのため,クリップボードを使用する複数のプログラムを同時に動作させると,意図したもの以外のグラフィックが表示・印刷されることがあります。画面表示プログラムと帳票印刷プログラムを同時に実行したときも同じことが考えられますので,そのような運用をする場合には,ファイルからの読み込みで対処してください。
All Rights Reserved. Copyright (C) 2001, 2006, Hitachi, Ltd.