VB6+WinXP:デスクトップテーマ対応の限界
APIでTabStripを実装した場合、それ自体はデスクトップテーマを反映する。
が、その上に載せたコントロールの背景部分は、TabStripの状態を反映しない。
矩形のコントロールの場合は別に影響しないが、ラベルなど原則背景透過のコントロールは致命的となる。
下記参照先の「視覚スタイル API をコンテナに適用する」あたりの記述を見ると、WM_PAINTメッセージが走った時にDrawThemeBackgroundとかそのへんの専用APIを投げてやる必要があるっぽい。てゅうか、これでイケるのかも未確認。
たかがラベルのためにメッセージフックでオーナードローかよ。
だったら素直にVC++で作るわ。
参照:
msdnJP Windows XP の視覚スタイルおよび PrintWindow を Windows アプリケーションで使用する
msdnJPサポート技術情報 309366 [INFO] Visual Basic 6.0 では Windows XP のテーマ (視覚スタイル) はサポートされていない