スクロールバーは超簡単
サブファイル画面において、右端にスクロールバーを表示する事ができます。これは*DS3、*DS4のどちらのサイズでも表示する事ができます。また、ACS前提ではなく、i-Accessのエミュレータでも使う事ができますが、サードベンダー製のエミュレータでは対応できないものあります。- スクロールバーはサブファイル・レコードの右端4バイトを使用するので、サブファイル・レコードの右端4バイトを空ける必要があります。
- サブファイルが複数行になる場合でも、全ての行で空けておく必要があります。
- スクロールバーの表示位置とデータが重なるとコンパイルエラーとなります。
ファンクションキーをマウス対応に(PSHBTNFLD)
ユーザー・アプリケーション画面の多くで、最下行にファンクション説明を表示している事と思います。 ACSのホットスポット機能で、このままでもマウス対応できる事は既にご紹介済みですが、もう少しマウスボタンらしい見栄えにする事もできます。
プッシュボタン(PSHBTNFLD)とマウスボタン(MOUBTN)
プッシュボタンとマウスボタンは同じような機能と思われがちですが、大きく異なる点があります。 それは、プッシュボタンはそのボタン上でのみで有効となりますが、マウスボタンは指定したレコード全域でマウス操作を監視し、指定された事象が発生した時に有効となる点です。 マウスボタンの事象には下記のものがあります。- *ULP シフトされていない左ボタンを押した
- *ULR シフトされていない左ボタンを放した
- *ULD シフトされていない左ボタンをダブルクリックする
- *UMP シフトされていない中央ボタンを押した
- *UMR シフトされていない中央ボタンを放した
- *UMD シフトされていない中央ボタンをダブルクリックする
- *URP シフトされていない右ボタンを押した
- *URR シフトされていない右ボタンを放した
- *URD シフトされていない右ボタンをダブルクリックする
- *SLP シフトされた左ボタンを押した
- *SLR シフトされた左ボタンを放した
- *SLD シフトされた左ボタンをダブルクリックする
- *SMP シフトされた中央ボタンを押した
- *SMR シフトされた中央ボタンを放した
- *SMD シフトされた中央ボタンをダブルクリックする
- *SRP シフトされた右ボタンを押した
- *SRR シフトされた右ボタンを放した
- *SRD シフトされた右ボタンをダブルクリックする
SNGCHCFLD (単一選択項目フィールド) キーワード
このキーワードは、いくつかの選択肢からひとつを選択する際に、従来であれば番号入力を行っていたものを、ラジオボタンで選択可能にするキーワードです。 この画面では、2か所にその選択項目があります。 これをSNGCHCFLD (単一選択項目フィールド) キーワードに置き換えると、次のようになります。 赤で囲われた2か所の選択は、マウスによりどちらかを選択できます。各選択項目にラジオボタンを付けたり、色を変えるなど設定を変える事もできます。 画面ファイルの変更箇所を見てみましょう。MLTCHCFLD (複数項目選択フィールド) キーワード
このキーワードは、複数の項目をクリックで選択する事ができます。 各項目にチェックボックスが配置され、クリックで選択/解除を繰り返します。 画面ファイルの変更箇所は次の通りです。SELECT=5 CTL01=1 CTL02=1 CTL03=0 CTL04=0 CTL05=1 CTL06=1 CTL07=0 CTL08=0 CTL09=1となるので、プログラム側では、これに基づいて処理を行う事ができます。 MLTCHCFLDやCHCCTLのフィールド属性は決まっているので、元のプログラムを属性が異なる場合は、プログラム側で変更する必要がありますが、基本的な処理は変わらないので修正も少なくて済みます。 SNGCHCFLDやMLTCHCFLDは今回ご紹介したシンプルな使い方だけでなく、選択項目の色指定や、非選択項目の設定など多くの機能があります。 マニュアルを参照して有効に使って頂きたいと思います。 また、スクロールバー、SNGCHCFLD、MLTCHCFLDはACSが前提ではなく、以前から利用できる画面キーワードです。 表示に若干の違いはありますが、以前のエミュレータでも機能します。 (注意点)サードベンダー製のエミュレータでは、多くのキーワードが利用できないようなので、ご注意ください
※本連載はIBM i 専門誌i Magazineに詳細版が掲載されます。ぜひそちらもご購読くださいませ。
<ご寄稿>
株式会社 アイエステクノポート
本社:〒105-0012 東京都港区芝大門1-3-4 ラウンドクロス芝大門 8階
設立:1990年7月17日
事業内容:IBM i 搭載Power Systems(System i,i5,iSeries,AS/400)向けパッケージ・ツールの開発・販売(UT/400,SS/Tool,S/D Manager)、IBM製品の販売、アプリケーションソフトの開発・販売、情報システムのコンサルティング、情報システム運用・保守、インターネット/イントラネット構築
株式会社 アイエステクノポート
本社:〒105-0012 東京都港区芝大門1-3-4 ラウンドクロス芝大門 8階
設立:1990年7月17日
事業内容:IBM i 搭載Power Systems(System i,i5,iSeries,AS/400)向けパッケージ・ツールの開発・販売(UT/400,SS/Tool,S/D Manager)、IBM製品の販売、アプリケーションソフトの開発・販売、情報システムのコンサルティング、情報システム運用・保守、インターネット/イントラネット構築