|目次前ページ次ページ|
─────────────────────────────────────
36.タブコントロール(TTabControl)の使い方 
─────────────────────────────────────
 [1]タブコントロール(TTabControl)オブジェクトの作成
      →共通ルーチン【ZVCMTAB】 
    TTabControl を使うと,複数のタブ設定を持つコントロールをフォームに追加できます。
    ページコントロールとは異なり,
    TTabControl は異なるコントロールを格納する複数のページを持たない単一のオブジェクトです。
    現在のタブが変わると,タブコントロールは変更を反映するために
    OnChange イベントハンドラで直接コントロールの内容を更新しなければなりません。
  @予期しない値がセットされていないようにローカル変数を削除します[D KILL^ZVCMSUB] 
  Aイベントマスクを設定します、例では[V2EVENT^ZVCMEDIT]ですが->適切に設定 
  Brectパラメタを作成します。[D SETRECT^ZVCMTAB] 
     (x,y,w,h):位置サイズ情報(行桁サイズモードに設定後) 
     (color):コントロールの色番号(Colorプロパティ) 
     -->指定なしの場合デフォルトの色 
     (font):コントロールのフオント番号(Fontプロパティ) 
     -->指定なしの場合(null)[font=501]のフオントをセット[SETRECTにおいて] 
     -->0:指定の場合デフォルトのフオント 
     (keycode):キーボードイベントを発生させる終了キーコードのセット 
     -->0を指定した場合0番のキーセットを指定した意味 
     ※イベントマスク設定でキーボードイベントを有効に設定しないとキーボードイベントは発生しません 
     (その他のプロパティ):(zorder,TabOrder,TabStop)...は必要があれば設定します。 
     ※[D SETRECT^ZVCMTAB] -> rectstrが作成される
  Cコントロールの作成時表示される文字列をeditパラメタに設定します。[editstr] 
        タブ表示する文字列を複数指定 
        文字列-1$文字列-2$...$  の様に指定してください 
     ※[S editstr=文字列-1$文字列-2$...$]
  D[D CREATE^ZVCMTAB]で使用されるパラメタを設定する 
     ※[S cid=(1〜1023の一意の番号)]
     ※[S form=(1〜1023の親フォームのフォーム番号)]
     ※[S parent=(1〜1023の親コントロールのcid番号)]
     ※[S group=(0〜32767のグループ番号)]
     ※[S opt=タブのスタイル(Style)]
          -> 0:標準のタブ(tsTabs) 
          -> 1:標準のタブ(tsTabs) 
          -> 2:ボタンタブ(tsButtons) 
          -> 3:平らなボタンタブ(tsFlatTabs) 
     ※[S pm1=タブの表示位置(TabPosition)]
          ->  0:上部 
          ->  1:上部(taTop) 
          ->  2:下部(taBottom) 
          ->  3:左側(taLeft) 
          ->  4:右側(taRight) 
     ※[S pm2=マウスを置くとラベルが強調される(HotTrack)]
          ->  0:されない 
          ->  1:マウスを置くとラベルが強調される 
     ※[S pm3=タブを複数の行で表示(MultiLine)]
          ->  0:タブを1行で表示 
          ->  1:タブを複数の行で表示 
     ※[S pm4=コントロールの幅を収めれれるようにタブ行を自動拡張(RaggedRight)]
          ->  0:自動拡張しない 
          ->  1:自動拡張する 
     ※[S pm5=複数行のタブでスクロールする方法表示(ScrollOpposite)]
          ->  0:前のタブはほかの全てのタブの背後に移動 
          ->  1:タブを選択した時前のタブが最下部に移動(表示位置上部) 
     ※[S pm6=複数のタブを選択出来る(ボタンタブ/平らなボタンタブのみ)(MultiSelect)]
          ->  0:出来ない 
          ->  1:出来る 
     ※[D CREATE^ZVCMTAB]エデットコントロールオブジェクトの作成
  E作成後コントロールの中に表示するテキストを変更する。
     ※[S cid=(1〜1023の一意の番号)]
     ※[S editstr="文字列"]
     ※[D TEXT^ZVCMTAB]コントロールのテキストを変更する
  Fタブ選択表示の変更
     ※[S cid=(1〜1023の一意の番号)]
     ※[S pos=選択番号(0,1,2,...)]
     ※[D SELECT^ZVCMTAB]タブ選択表示を変更する
  Gイベント応答メッセージから選択されているタブを取得する
     ※イベント種別=通常タブの変更イベントで処理します
     ※イベント応答メッセージを読み込む[S RESP=$$ReadMsg^ZVCMSUB(Rtail)
     ※読み込んだ(受信)イベント応答メッセージを分解する[D VCMRESP^ZVCMSUB]
     ※(Revent2):イベント種別
     ※(Rselno):現在選択されているタブのインデックス(0,1,2,...)
     ※(Rmain):現在選択されているタブのテキストの文字列
     ※(Rkeycode):キーボードイベント時仮想キーコード
     ※(Rshift):シフト状態 0:無し 1:シフト 2:コントロール 4:<ALT>の組み合わせ 
  Hタブコントロール(TTabControl)を親コントロールにしたエデット,ボタン等を配置します。 
─────────────────────────────────────
 [2]タブコントロール(TTabControl)オブジェクトのイベント
      →共通ルーチン【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] 
─────────────────────────────────────
mask3= 1  : (24)タブの変更/値が変更等(Change)(ビット0) 
 ※イベント設定変数を設定  →  D CHANGE^ZVCMEVENT 
 ※リスポンス応答メッセージ中のイベントコード→ [Revent2=EV2Change],[Revent1=EV1Other] 
─────────────────────────────────────
mask5= 2 : (41)サイズ変更された(ビット1) 
 ※イベント設定変数を設定  →  D SIZE^ZVCMEVENT 
 ※リスポンス応答メッセージ中のイベントコード→ [Revent2=EV2Size],[Revent1=EV1Other] 
─────────────────────────────────────
 ※イベントマスクを設定       →  D SETEVENT^ZVCMEVENT 
───────────────────────────────────
               36-1
     |目次前ページ次ページ