2 Fragen
-
danke, ich hab es mal so probiert:
case WM_CTLCOLORSTATIC: hdcStatic = (HDC)wParam; SetBkMode(hdcStatic, TRANSPARENT); return TRUE;es ändert jedoch leider nichts

-
Tobiasexe schrieb:
danke, ich hab es mal so probiert:
case WM_CTLCOLORSTATIC: hdcStatic = (HDC)wParam; SetBkMode(hdcStatic, TRANSPARENT); return TRUE;es ändert jedoch leider nichts

Du machst ja auch nichts! Bitte lies doch mal die Doku, zu dem was Du zurückgeben musst!
Du müsstest einen NULL Brush zurückgeben. Du gibst TRUE zurück!
-
nach wie vor hat es einen Hintergrund:
// ganz oben static HBRUSH g_hbrBackground = 0; case WM_CTLCOLORSTATIC: hdcStatic = (HDC)wParam; SetBkMode(hdcStatic, TRANSPARENT); return (long)g_hbrBackground;
-
g_hbrBackground ist was?
-
steht da doch...
static HBRUSH g_hbrBackground = 0;
-
Tobiasexe schrieb:
steht da doch...
static HBRUSH g_hbrBackground = 0;Falsch ein Null Brush ist
GetStockObject(NULL_BRUSH);
-
geht aber trotzdem nicht

static HBRUSH g_hbrBackground = (HBRUSH)GetStockObject(NULL_BRUSH);; case WM_CTLCOLORSTATIC: hdcStatic = (HDC)wParam; SetBkMode(hdcStatic, TRANSPARENT); return (long)g_hbrBackground;
-
sollte es aber. Der Code ist in Ordnung!
-
Edit controls that are not read-only or disabled do not send the WM_CTLCOLORSTATIC message; instead, they send the WM_CTLCOLOREDIT message.
-
Zu 1.)
(Funktioniert aber nicht mit XP-Style, da musst Du den Hintergrund des Fensters als Brush zurückgeben !)case WM_CTLCOLORSTATIC: // Hintergrundfarbe des Static-Steuerelements anpassen if ((HWND) lParam == hwndStatic) { SetBkMode ((HDC) wParam, TRANSPARENT) ; return (BOOL) GetStockObject (NULL_BRUSH) ; }... zu 2.)
http://msdn.microsoft.com/en-us/library/ms646291.aspx
Gruß
Greenhorn