|目次前ページ次ページ|
─────────────────────────────────────
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
     |目次前ページ次ページ