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