2009-04-22 5 views
1

私は、TABコントロールを含むダイアログを持つATLアプリケーションを持っています。アプリケーションは、共通コントロールマニフェストを使用します。ビジュアルスタイルとXPの下でATL App、XPスタイルのTABコントロールの背景

、タブコントロールの背景には、ダイアログとコントロール(主にチェックボックス)とは異なる色であるので、それは非常に醜いです。

Screenshot

私はそれを解決することができますか?

答えて

0

Hereあなたの質問に対する回答が見つかりました。

+0

完璧ではありませんが、その仕事をしています - ありがとう! – peterchen

0

チェックボックスは、親にWM_CTLCOLORBTN通知を掲載します。 、チェックボックスコントロールのIDについて、親ウィンドウのメッセージハンドラが

GetStockObject(HOLLOW_BRUSH) 

の結果を返す場合は、チェックボックスは、あなたが望む外観を与える必要があり、透明な背景で描かれなければなりません。

5

あります - 明らかに - XPのビジュアルスタイルを使用して、正しく色のタブコントロールページを取得するために行うための一つのこと。各ページのWM_INITDIALOGハンドラで

ETDT_ENABLETABフラグでuxthemeのAPI EnableThemeDialogTexture

を呼び出し、これは、自動的にダイアログの背景色を変更し、そのすべての子には、タブ上で、適切にペイントするコントロール。

ダイアログページは、以前とは異なるセット透明フラグの任意の種類、または実際に任意のスタイルビットを必要としません。 またはWM_CTLCOLORDLGをDialogProcのページでオーバーライドした場合は、デフォルトの処理(戻り値FALSE)に戻す必要があります。

関連する問題