|目次|前ページ|次ページ|
─────────────────────────────────────
13.リストボックス(TListBox)の使い方
─────────────────────────────────────
[1]リストボックス(TListBox)オブジェクトの作成
→共通ルーチン【ZVCMLST】
@予期しない値がセットされていないようにローカル変数を削除します[D KILL^ZVCMSUB]
Aイベントマスクを設定します、例では[V2EVENT^ZVCMLST]ですが->適切に設定
Brectパラメタを作成します。[D SETRECT^ZVCMLST]
(x,y,w,h):位置サイズ情報(行桁サイズモードに設定後)
(color):コントロールの色番号(Colorプロパティ)
-->指定なしの場合デフォルトの色
(font):コントロールのフオント番号(Fontプロパティ)
-->指定なしの場合(null)[font=498]のフオントをセット[SETRECTにおいて]
-->0:指定の場合デフォルトのフオント
(keycode):キーボードイベントを発生させる終了キーコードのセット
-->0を指定した場合0番のキーセットを指定した意味
※イベントマスク設定でキーボードイベントを有効に設定しないとキーボードイベントは発生しません
(selno):初期状態で選択されている選択肢インデックス(1:先頭)
-->0を指定した場合何も選択されていない意味
(TopIndex):初期状態で表示されている先頭の選択肢インデックス(1:先頭)
(その他のプロパティ):(zorder,TabOrder,TabStop)...は必要があれば設定します。
※[D SETRECT^ZVCMLST -> rectstrが作成される
Cリストボックスコントロールの中に表示するを選択肢をeditパラメタに設定します。[editstr]
※[S editstr="選択肢-1$選択肢-2$選択肢-3$$"]
D[D CREATE^ZVCMLST]で使用されるパラメタを設定する
※[S cid=(1〜1023の一意の番号)]
※[S form=(1〜1023の親フォームのフォーム番号)]
※[S parent=(1〜1023の親コントロールのcid番号)]
※[S group=(0〜32767のグループ番号)]
※[S opt=(0:単一選択 1:複数選択)]
※[S pm1=(0:IntegralHeight=False 1:IntegralHeight=True)]
※[D CREATE^ZVCMLST]コントロールオブジェクトの作成
E作成後リストボックスコントロールの中に表示する選択肢を追加する。
※[S cid=(1〜1023の一意の番号)]
※[S editstr="選択肢-1$選択肢-2$選択肢-3$$"]
※[D APPEND^ZVCMLST]コントロールの中に表示する選択肢を追加
Fイベント応答メッセージからリストボックスコントロールの中に選択されている選択肢を取得する
※イベント種別=【フォーカスを失うイベント】で現在の選択状況を取得します
※イベント種別=クリックイベントとキーボードイベントで[ボタン用途]の処理ができます
※イベント応答メッセージを読み込む[S RESP=$$ReadMsg^ZVCMSUB(Rtail)
※読み込んだ(受信)イベント応答メッセージを分解する[D VCMRESP^ZVCMSUB]
※(Revent2):イベント種別
※(Rselno):選択された選択肢インデックス(1:先頭)
※(Rselcnt):選択個数
※(Rmain):単一選択(選択肢の文字列),複数選択(1;3;5の様に選択インデックス)
※(Rkeycode):キーボードイベント時仮想キーコード
※(Rshift):シフト状態 0:無し 1:シフト 2:コントロール 4:<ALT>の組み合わせ
─────────────────────────────────────
[2]リストボックスコントロール(TListBox)オブジェクトのイベント
→共通ルーチン【ZVCMEVENT】
→共通ルーチン【ZVCMEVENT7】応答イベントコード定数
─────────────────────────────────────
◆ イベントマスクを設定(応答を可にする)
※イベント設定変数を初期化→ D CLEAR^ZVCMEVENT
─────────────────────────────────────
mask0= 2 : (1)マウス左クリックイベント応答(ビット1)
※イベント設定変数を設定 → D CLICK^ZVCMEVENT
※リスポンス応答メッセージ中のイベントコード→ [Revent2=EV2Click],[Revent1=EV1Click]
─────────────────────────────────────
mask0= 4 : (2)マウス右クリック(ポップアップ)イベント応答(ビット2)
※イベント設定変数を設定 → D POPUP^ZVCMEVENT
※リスポンス応答メッセージ中のイベントコード→ [Revent2=EV2RClick],[Revent1=EV1Popup]
─────────────────────────────────────
mask0= 8 : (3)キーボードイベント応答(ビット3)
※イベント設定変数を設定 → D KEYBORD^ZVCMEVENT
※リスポンス応答メッセージ中のイベントコード→ [Revent2=EV2Keybord],[Revent1=EV1Keybord]
─────────────────────────────────────
mask1= 8 : (11)フォーカスを失う時応答(ビット3)
※イベント設定変数を設定 → D KILLFOCUS^ZVCMEVENT
※リスポンス応答メッセージ中のイベントコード→ [Revent2=EV2Exit],[Revent1=EV1Exit]
─────────────────────────────────────
mask1= 16 : (12)フォーカスを得る時応答(ビット4)
※イベント設定変数を設定 → D SETFOCUS^ZVCMEVENT
※リスポンス応答メッセージ中のイベントコード→ [Revent2=EV2Enter],[Revent1=EV1Enter]
─────────────────────────────────────
mask2= 64 : (22)マウス左ダブルクリック応答(ビット6)
※イベント設定変数を設定 → D LEFTDBL^ZVCMEVENT
※リスポンス応答メッセージ中のイベントコード→ [Revent2=EV2DblClick],[Revent1=EV1DblClick]
─────────────────────────────────────
※イベントマスクを設定 → D SETEVENT^ZVCMEVENT
─────────────────────────────────────
[3] ZVCSLSA -->
※※※少量のデータベースからリストボックスに全件表示します
ただし添字の異なった次元にデータを持つ場合には
使用出来ません
<<<入力変数>>>
※※※ テーブルに関する情報変数 ※※※
TTYPE => 定型テーブル名と添字の深さ
TNAMEとLEVEL,SUBSCR(i) は
(場合によってはPOSも)自動的に決定されます
※※他の入力変数は指定した値がそのまま有効です
null/<undef>の時はTNAME,LEVELで指定します
TNAME => 汎用テーブル名(グローバル名) ex. STTJ
TUCI => テーブルuci
TVOL => テーブルvol
LEVEL => テーブルグローバルの添字の深さ(次元)1,2,3...
SUBSCR(i)=> グローバルの添字の文字列(固定定数)
ex. LEVEL=3 ならば SUBSCR(1)とSUBSCR(2)を設定する
※※※ リストボックス表示に関する情報変数 ※※※
POS => テーブル名称文字列の位置($P)デリミタの何番目か
DELIM => デリミタ文字(^)がデフォルト)
TOP => リストボックスの上端の行位置
LEFT => リストボックスの左端の桁位置
WIDTH => リストボックスの幅
HEIGHT=> リストボックスの高さ
id -> VCM control id番号
PARENT -> 親のフォームcid
FORM -> フォーム番号
GROUP -> グループ番号
-----<<<リストボックスに1回に全件表示する>>>--------
SELECT -> 予め選択された選択肢の添字(LEVEL)(選択結果)
-----<<<以下RECT,opt,pm1,...パラメタを参照>>>--------
font -> font番号
color -> 色番号
パラメタ他にもあります
─────────────────────────────────────
[使い方]
※ <<<ローカル変数初期化>>> D KILL^ZVCSLSA
※ <<<作成時呼び出し>>> D CREATE^ZVCSLSA
※ <<<選択時呼び出し>>> D SELECTED^ZVCSLSA
※ <<<フォーカスを失った時呼び出し>>> D KILLFOCUS^ZVCSLSA
※ <<<廃棄時呼び出し>>> D DESTROY^ZVCSLSA
※ラベル(TEST)から(CREATE)の前迄は、使い方のサンプルです。
※ラベル(CREATE)以降は、<<<共通サブルーチン部>>>です。
※ご注意[cid=990,991,992,993,994は予約されています]
※このルーチンをコピーして自分で都合良く変更しても結構です。
─────────────────────────────────────
[4] ZVCSLSB -->
※※※多量のデータベースからリストボックスに一部分表示します
ただし添字の異なった次元にデータを持つ場合には
使用出来ません
<<<入力変数>>>
※※※ テーブルに関する情報変数 ※※※
TTYPE => 定型テーブル名と添字の深さ
TNAMEとLEVEL,SUBSCR(i) は
(場合によってはPOSも)自動的に決定されます
※※他の入力変数は指定した値がそのまま有効です
null/<undef>の時はTNAME,LEVELで指定します
TNAME => 汎用テーブル名(グローバル名) ex. STTJ
TUCI => テーブルuci
TVOL => テーブルvol
LEVEL => テーブルグローバルの添字の深さ(次元)1,2,3...
SUBSCR(i)=> グローバルの添字の文字列(固定定数)
ex. LEVEL=3 ならば SUBSCR(1)とSUBSCR(2)を設定する
※※※ リストボックス表示に関する情報変数 ※※※
POS => テーブル名称文字列の位置($P)デリミタの何番目か
DELIM => デリミタ文字(^)がデフォルト)
TOP => リストボックスの上端の行位置
LEFT => リストボックスの左端の桁位置
WIDTH => リストボックスの幅
HEIGHT=> リストボックスの高さ
id -> VCM control id番号
PARENT -> 親のフォームcid
FORM -> フォーム番号
GROUP -> グループ番号
READCNT -> リストボックスに1回に表示する選択肢の数
SELECT -> 予め選択された選択肢の添字(LEVEL)(選択結果)
-----<<<以下RECT,opt,pm1,...パラメタを参照>>>--------
font -> font番号
color -> 色番号
パラメタ他にもあります
─────────────────────────────────────
[使い方]
※ <<<ローカル変数初期化>>> D KILL^ZVCSLSB
※ <<<呼び出し>>> D CREATE^ZVCSLSB
※ <<<選択時呼び出し>>> D SELECTED^ZVCSLSB
※ <<<フォーカスを失った時呼び出し>>> D KILLFOCUS^ZVCSLSB
※ <<<廃棄時呼び出し>>> D DESTROY^ZVCSLSB
※ <<<パラメタ再設定>>> D SETUPPM^ZVCSLSB
※ <<<操作不能設定>>> D DISGRP^ZVCSLSB
※ <<<操作可能設定>>> D ENAGRP^ZVCSLSB
※ <<<先頭ページ表示>>> D TOPPG^ZVCSLSB
※ <<<前ページ表示>>> D PREVPG^ZVCSLSB
※ <<<次ページ表示>>> D NEXTPG^ZVCSLSB
※ <<<末尾ページ表示>>> D TOPPG^ZVCSLSB
※ラベル(TEST)から(CREATE)の前迄は、使い方のサンプルです。
※ラベル(CREATE)以降は、<<<共通サブルーチン部>>>です。
※ご注意[cid=990,991,992,993,994は予約されています]
※このルーチンをコピーして自分で都合良く変更しても結構です。
─────────────────────────────────────
───────────────────────────────────
13-1
|目次|前ページ|次ページ|