- PR -

TabControlとTrackBarの背景色を同じにしたい

1
投稿者投稿内容
ShuU
常連さん
会議室デビュー日: 2006/09/29
投稿数: 21
投稿日時: 2007-06-19 14:06
毎度、お世話になっています。

現在、VB2005でWindowsフォームアプリケーションを開発しています。


フォーム上に《TabControl》を配置して、その上に《TrackBar》を配置します。
そして「TabPage」の「UseVisualStyleBack」プロパティを"True"にします。

このとき、《TrackBar》の「BackColor」プロパティは"Control"です。
このため、《TrackBar》が、周りから浮いて見えます。(背景色が違う)


そこで、背景を透明(Transparent)に設定するため、《TrackBar》を継承した
ユーザーコントロール《ucTrackBar》を作成しました。(SetStyle使用)

《ucTrackBar》の「BackColor」プロパティを"Transparent"にして、改善を期待しましたが、
《TabControl》の「TabPage」背景色と《ucTrackBar》背景色は微妙に異なっていました。


「TabPage」と《TrackBar》の背景色を同じにしても《TabControl》のタブ色が
変わらないので、今度はタブが浮いてしまいます。

一体どうすれば、タブとトラックバーの違和感を無くせるでしょうか?
ShuU
常連さん
会議室デビュー日: 2006/09/29
投稿数: 21
投稿日時: 2007-06-20 17:28
妥協策を見つけましたので、自己レスします。


問題は《TabControl》のタブと「TabPage」領域と《TrackBar》の色が異なることでしたので、
「TabPage」の「UseVisualStyleBack」プロパティを"False"に戻して、背景色を"Control"にしました。
(もちろん《TrackBar》の背景色も"Control"にしました)

また、このままでは《TabControl》のタブが"Control"色になりませんので、
以下を参考にして、タブ領域なども「TabPage」の背景色と同じ色に塗りつぶしました。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=7737&forum=7

結果として、《TrackBar》やタブが浮いて見えることは無くなりました。


VisualStyleを妥協したところは残念ですが、とりあえず、この方法で凌ぐことにします。

以上、ご一読頂きまして、有難う御座いました。
1

スキルアップ/キャリアアップ(JOB@IT)