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