WinApi Blokada kliknięcia przycisku

0

Witam,
muszę napisać sapera, ale napotkałem pewien problem. Kiedy ustawię bitmapę(flaga) na przycisku i zablokuję ten przycisk, wtedy staje się on szary i nie widać bitmapy. Poza tym chcę go odblokować kolejnym naciśnięciem, lecz nie jest to możliwe bo wcześniej zablokowałem możliwość naciskania na przycisk.
Podsumowując, potrzebuję możliwości zablokowania i odblokowania przycisku, wciskając tenże przycisk, przy czym flaga musi być widoczna na buttonie.
Jakieś pomysły? :)

					if(GetKeyState(VK_LSHIFT) & 0x80)
					{	
						SendMessage(t_button[y][x], BM_SETIMAGE, (WPARAM)IMAGE_BITMAP, 0);
						EnableWindow(t_button[y][x],TRUE);
					}
					else
					if(GetKeyState(VK_LCONTROL) & 0x80)
					{	
						SendMessage(t_button[y][x], BM_SETIMAGE, (WPARAM)IMAGE_BITMAP, (LPARAM)hbitmap);
						EnableWindow(t_button[y][x],FALSE);
					}
 
0

Rysować przycisk samemu, przechwycić zdarzenie WM_PAINT.

0

Albo subclassing własna obsługa przycisków myszy (w odpowiednim stanie przycisku po prostu blokada komunikatu WM_LBUTTONDOWN i co tam jeszcze potrzeba). Stan przycisku możesz łatwo zmieniać/pobierać funkcją SetWindowLong/GetWindowLong z parametrem GWL_USERDATA.

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