Label Hintergrundfarbe = Tabcontrol Hintergrundfarbe?
-
Ich habe auf einem Tab Control Drei Labels plaziert (X, Y, Z). Leider stimmt die Hintergrundfarbe der Labels nicht mit der Hintergrundfarbe des Tabcontrols überein. Wie kann man die Hintergrundfarbe der Labels auf die Hintergrundfarbe des Tabcontrols setzen?
http://loop.servehttp.com/~vertexwahn/uploads/tabcontrol.PNG
-
Vertexwahn schrieb:
Ich habe auf einem Tab Control Drei Labels plaziert (X, Y, Z). Leider stimmt die Hintergrundfarbe der Labels nicht mit der Hintergrundfarbe des Tabcontrols überein. Wie kann man die Hintergrundfarbe der Labels auf die Hintergrundfarbe des Tabcontrols setzen?
http://loop.servehttp.com/~vertexwahn/uploads/tabcontrol.PNG
wie hast du die hintergrundfarbe des Tabs denn gesetzt? oder ist das ein dialog?
-
wie hast du die hintergrundfarbe des Tabs denn gesetzt? oder ist das ein dialog?
Das ist kein Dialog. Hab das Tabcontrol so erzeugt:
m_hWnd = CreateWindow( WC_TABCONTROL, TEXT(""), WS_CHILD | WS_CLIPSIBLINGS | WS_VISIBLE, m_Position.getX(), m_Position.getY(), m_Size.getWidth(), m_Size.getHeight(), hWnd, NULL, hInstance, NULL );und hab ein manifest erstellt damit ich den XP Look hab...
-
Siehe WM_CTLCOLOR
-
Jochen Kalmbach schrieb:
Siehe WM_CTLCOLOR
Muss ich da das Static Control "Subclassen" um an diese Nachricht zu kommen? Gibts da nicht so etwa wie GetColor(hwnd)?
-
Ach so, ja; ich glaube da musst Du subclassen (bin mir aber gerade adhoc nicht sicher)
-
Vertexwahn schrieb:
Jochen Kalmbach schrieb:
Siehe WM_CTLCOLOR
Muss ich da das Static Control "Subclassen" um an diese Nachricht zu kommen? Gibts da nicht so etwa wie GetColor(hwnd)?
Ne, verwende besser WM_CTLCOLORSTATIC.
Du musst einfach einen Message-Handler für die Nachricht in die Nachrichtenprozedur des Parents-Fensters schreiben (also in Deine DlgProc). Da kannst Du dann die Farben anpassen (siehe MSDN-Link).
-
Jochen Kalmbach schrieb:
Ach so, ja; ich glaube da musst Du subclassen (bin mir aber gerade adhoc nicht sicher)
Ähm ne eigentlich ist da nix zu subclassen
. (Oder ich hab Dein Problem nit verstanden :p ).
-
oh... das wird ja richtig aufwändig
http://www.codeproject.com/wtl/ThemedDialog.asp
-
Hm joar sieht wirklich nach viel Arbeit aus...aaaaaber ...
Kannst ja mal (um Dir ein bissl Arbeit zu sparen), beim Schritt "The third idea: Transparency" statt einem 'hollow-brush' einen farbigen Brush zurückgeben. Die Farbe holst Du Dir einfach vom 'darunterliegenden' DC des entsprechenden Parents. Glaub n Versuch ist es Wert.