WinApi Blokada kliknięcia przycisku

WinApi Blokada kliknięcia przycisku
E2
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 7
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? :)

Kopiuj
					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);
					}
 
_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
0

Rysować przycisk samemu, przechwycić zdarzenie WM_PAINT.

KA
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Gorlice
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.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.