タブを切り替えた時の処理
タブを切り替えた時にコントロールに表示される値を書き換える方法を確認します。
まずタブストリップにテキストボックスを1つ配置します。
タブストリップ上でタブを切り替えてもこのテキストボックスは共通して表示されます。テキストボックスのオブジェクト名を「salesText」とします。
次に現在どのタブが表示されているかを取得します。タブストリップに対して「Value」プロパティを使います。
object.Value [= Variant]
コントロールの状態、またはその内容を設定します。 引数: object 設定するオブジェクトを指定します。 Variant 現在アクティブなタブを表す整数値を表します。
タブのインデックス番号を所得することが出来ます。最初のタブは0です。
後はタブストリップ上のイベント処理でタブが切り替えられた時に発生する「Change」イベント上で、アクティブなタブに対する値をコントロールに表示します。
実際の使い方としては次のようになります。
Private Sub monthTab_Change() Dim index As Integer index = monthTab.Value If index = 0 Then salesText.Text = "8,000" ElseIf index = 1 Then salesText.Text = "21,000" ElseIf index = 2 Then salesText.Text = "15,000" End If End Sub
サンプルプログラム
では簡単なサンプルで試してみましょう。タブストリップのChangeイベントに次のように記述します。
Private Sub monthTab_Change() Dim index As Integer index = monthTab.Value If index = 0 Then salesText.Text = "8,000" ElseIf index = 1 Then salesText.Text = "21,000" ElseIf index = 2 Then salesText.Text = "15,000" End If End Sub
また呼びだすマクロは次の通りです。
Sub テスト() Load sampleForm sampleForm.monthTab.Tabs(0).Caption = "1月" sampleForm.monthTab.Tabs(1).Caption = "2月" sampleForm.monthTab.Tabs(2).Caption = "3月" sampleForm.Show End Sub
上記マクロを実行すると次のように表示されます。
タブを切り替えるとその時表示されたタブに対応する値がコントロールに表示されます。
( Written by Tatsuo Ikura )