SSTabのタブの背景色を変えるには?
タブをクリックして変更させるのではなく、ラジオボタンA(SSTab上ではない)が選ばれたらTab1、ラジオボタンBが選ばれたらTab2を表示するというものを作っています。しかし、実際にはタブに貼り付けてあるコントロールだけを表示し、タブを使っているようには見せたくありません。タブの色をFormの背景と同じ色にしたいのですが、SStabのプロパティをつかうだけではできないのでしょうか?
タブの後ろの背景(BackColor)と、タブの文字の色(ForeColor)を変えることはわかります。
今はタブの上に、Formと同じ色にしたラベルをはって、その上に表示したいコントロールをのせています。
タブ自体の背景色の替え方について何か良いアドバイスがありましたらよろしくお願いいたします。
タブを表示させたくないのなら、以下の方法はどうでしょう。
ピクチャーボックス Picture1(0) から Picture1(2) の3つを貼り付けます。(配列で)
その時ピクチャーボックスの中にラベルを貼ります。(Captionはそれぞれ違う内容で。)
オプションボタン Option1(0) から Option1(2) の3つを貼り付けます。(配列で)
Option1_Clickのイベントに以下のコードを記述する。
Private Sub Option1_Click(Index As Integer)
Dim i As Long
For i = 0 To 2
If i = Index Then
Picture1(i).Move 210, 50, 3000, 2000 '<--適当に変更して下さい
Picture1(i).Left = 210
Picture1(i).Enabled = True
Else
Picture1(i).Left = -20000
Picture1(i).Enabled = False
End If
Next
End Sub
これでピクチャーボックスのAppearanceやBackColor、BorderStyleを
変更してやればForm上に違和感なく表示されると思います。
どうでしょうか?
名無しのどん兵衛さん、アドバイスありがとうございます。
なるほど、Pictureを使うという方法もありますね。思いつきませんでした!
Pictureやラベルを使わなくてはいけないということは、やはりタブ自体の背景色は灰色(&H8000000F&)から変えることは出来ないのでしょうか・・・。
タブ自体の色の変更は私には分かりません。
他の人にアドバイスをもらって下さい。
>Pictureやラベルを使わなくてはいけないということは
別にラベルじゃなくてもかまいません。ただ表示上分かり易いようにするための物です。
タブの1ページに表示するコントロールをそれぞれのピクチャーボックスに(Tab1はPicture1(0)に、Tab2はPicture1(1)に、Tab3はPicture1(2)に…)
貼り付ければいいことなのですが…
>名無しのどん兵衛さん
Pictureやラベルを使わなくてはいけないということは〜と言ったのは、ここで質問する前に、名無しのどん兵衛さんのPictureのやり方と同じことをラベルにやっていたのです。
説明が足りずにすみませんでした。
そして、だいぶ遅くなってしまいましたが、解決しました!
色を変えるという考えではなく、タブを表示させないという考えです。
1.TabVisibleで全部のタブを消す(Falseにする)
2.表示させたいタブのTabVisibleをTrueにする
3.表示させたいタブを選択する(Tabプロパティ)
4.表示させたいタブのTabVisibleをFalseにする
不思議なんですが、これでタブ自体は見えなくてもタブの上に載せたコントロールは表示できました。
なんでこんなことが起きるのでしょう・・・。
ツイート | ![]() |