Kolor tła kontrolki "STATIC" w API

0

Witam !

Nie mogę sobię poradzić ze zmianą tła kontrolki "STATIC" w API.
Próbowałem z pobieraniem hDC tej kontrolki, ale wyszła kaszana, więc jak ktoś znałby rozwiązanie to będę wdzięczny...

0

A wiec tak:
Tworzysz kontrolke np.
[code]
hwndRect = CreateWindow (TEXT ("static"), "napis",
WS_CHILD | WS_VISIBLE|SS_CENTER,
0, 0, 100, 20,
hwnd, (HMENU) 9, hInstance, NULL) ;
[/code]
wszystko sprowadza sie do przechwycenia komunikatu WM_CTLCOLORSTATIC w petli komunikatow
wParam tego komunikatu to HDC
lParam to uchwyt kontrolki
[code]
case WM_CTLCOLORSTATIC :
i = GetWindowLong ((HWND) lParam, GWL_ID) ;
if (i==9) // ID naszego Statica
{
SetTextColor ((HDC) wParam, RGB(255,0,0)) ;//ustawiamy kolor tekstu
SetBkColor ((HDC) wParam, RGB(0,0,255));//kolor tla pod tekstem
hBrushStatic=CreateSolidBrush(RGB(0,0,0));//wypelnienie tla statica
return (LRESULT) hBrushStatic ;
}
break ;
[/code]
wazne jest aby w return zwrocic odpowiedni "pedzel", ktory chcemy uzyc do wypelnienia tla statica bo inaczej Windows uzyje standardowego "pedzla" i wyjda nici z naszych kolorkow.

0

Dzięki za odpowiedź, niedługo przetestuję...

1 użytkowników online, w tym zalogowanych: 0, gości: 1