Zmiana kursora

Odpowiedz Nowy wątek
2011-10-17 07:23
0

Witam,

mam problem w MFC z kursorem. Chciałem żeby kursor po naciśnięciu myszki zmienił się w coś innego i po zwolnieniu przycisku odmienił się. Zatem dodaje zdarzenie na przyciśnięcie lewego przycisku myszki i wrzucam taką funkcję:
SetCursor( LoadCursor( NULL, IDC_SIZEALL ) );
Kursor się oczywiście zmienia, jednak gdy poruszę myszką (dalej z wciśniętym przyciskiem myszki) to nagle odmienia się do pierwotnego stanu. Dlaczego?

Pozdrawiam i dziękuję z góry za pomoc.

Pozostało 580 znaków

2011-10-17 07:26
0

Ponieważ, jak sam powiedziałeś - dodajesz zdarzenie na przyciśnięcie. Musiałbyś poszukać po innych zdarzeniach.


edytowany 1x, ostatnio: Patryk27, 2011-10-17 07:27

Pozostało 580 znaków

2011-10-17 09:28
0

@Patryk27: nie prawda, zmiana kursora po prostu działa w obrębie tylko jednego komunikatu, później jest przywracany domyślny.
@nwnuinr: tu masz przykład jak to zrobić: http://www.functionx.com/visualc/howto/changecursor.htm - SetCursor sam z siebie nie spełnia swojego zadania.
Tu jest przedstawione jeszcze trochę inne podejście: http://support.microsoft.com/kb/131991
Taki urok MFC, że jest poryte


edytowany 1x, ostatnio: byku_guzio, 2011-10-17 09:29

Pozostało 580 znaków

2011-10-17 09:31
0

// edit odpisałeś jak ja pisałem posta, ale dzięki byku

to jest zdarzenie WM_MBUTTONDOWN, które się wywołuje w momencie przyciśnięcia przycisku (w tym przypadku środkowego myszki), jest także zdarzenie WM_MBUTTONUP, które się wywołuje po "odciśnięciu" oraz WM_MOUSEMOVE przy poruszeniu myszki, więc skoro nic nie robię przy obsłudze WM_MBUTTONUP i WM_MOUSEMOVE to jakim cudem zmienia mi się kursor do pierwotnego stanu po poruszeniu myszką?

edytowany 2x, ostatnio: nwnuinr, 2011-10-17 09:32

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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