Zmiana koloru kontrolki w WinApi - SetClassLong()

0

Hey, czy może mnie ktoś oświecić, dlaczego poniższy kod nie zmienia koloru przycisku w WinApi?

	HWND control = 0;

	unsigned ID_control = 1;
	control = CreateWindowEx(
		0,
		L"Button",
		L"przycisk",
		WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,
		30,30,
		100,50,
		hWnd,
		(HMENU) ID_control,
		hInst,
		0
		);

	HBRUSH brush = (HBRUSH)GetStockObject(BLACK_BRUSH); //CreateSolidBrush(RGB(0,0,200));
	SetClassLong(control, GCL_HBRBACKGROUND, (LONG)brush);

Chciałbym zmienić pędzel dla kontrolki, ale mój kod nie daje żadnych rezultatów i zastanawiam się dlaczego?!
Czyżby okna kontrolek były odporne na funkcjęSetClassLong() ?!

Z góry dzięki za pomoc ;-)

0

Kontrolkę trzeba zapewne odrysować (InvalidateRect).

0
Azarien napisał(a):

Kontrolkę trzeba zapewne odrysować (InvalidateRect).

Też o tym pomyślałem, ale niestety nie pomogło. Próbowałem również wysłać SendMessage() z WM_PAINT - bez rezultatu.
No nic, możliwe, że się nie da. W google są podpowiedzi, że nie ma możliwości zmiany koloru więc możliwe, że jest jakaś "blokada".

By the way, dzięki za odpowiedź - kolejny raz ;-)

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