komunikat WM_MBUTTONUP
Opublikowany, gdy użytkownik zwalnia środkowy przycisk myszy, gdy kursor znajduje się w obszarze klienta okna. Jeśli mysz nie zostanie przechwycona, wiadomość zostanie wysłana do okna pod kursorem. W przeciwnym razie wiadomość zostanie wysłana do okna, które przechwyciło mysz.
Okno odbiera ten komunikat za pośrednictwem funkcji WindowProc.
#define WM_MBUTTONUP 0x0208
Parametry
-
wParam
-
Wskazuje, czy różne klucze wirtualne nie działają. Ten parametr może być co najmniej jedną z następujących wartości.
Wartość Znaczenie - MK_CONTROL
- 0x0008
CTRL nie działa. - MK_LBUTTON
- 0x0001
Lewy przycisk myszy jest wyłączony. - MK_MBUTTON
- 0x0010
Środkowy przycisk myszy jest wyłączony. - MK_RBUTTON
- 0x0002
Prawy przycisk myszy jest wyłączony. - MK_SHIFT
- 0x0004
SHIFT jest wyłączony. - MK_XBUTTON1
- 0x0020
XBUTTON1 nie działa. - MK_XBUTTON2
- 0x0040
XBUTTON2 nie działa. -
lParam
-
Wyraz o niskiej kolejności określa współrzędną x kursora. Współrzędna jest względna względem lewego górnego rogu obszaru klienta.
Wyraz o wysokiej kolejności określa współrzędną y kursora. Współrzędna jest względna względem lewego górnego rogu obszaru klienta.
Należy pamiętać, że gdy menu skrótów jest obecne (wyświetlane), współrzędne są względem ekranu, a nie obszaru klienta. Ponieważ TrackPopupMenu jest wywołaniem asynchronicznym, a powiadomienie WM_MBUTTONUP nie ma specjalnej flagi wskazującej wyprowadzenie współrzędnych, aplikacja nie może stwierdzić, czy współrzędne x,y zawarte w lParam są względem ekranu lub obszaru klienta.
Wartość zwracana
Jeśli aplikacja przetwarza ten komunikat, powinna zwrócić zero.
Uwagi
Użyj następującego kodu, aby uzyskać położenie poziome i pionowe:
xPos = GET_X_LPARAM(lParam);
yPos = GET_Y_LPARAM(lParam);
Jak wspomniano powyżej, współrzędna x znajduje się w krótkiej wartości zwracanej; współrzędna y znajduje się w krótkim (obie reprezentują wartości podpisane, ponieważ mogą przyjmować wartości ujemne w systemach z wieloma monitorami). Jeśli wartość zwracana jest przypisana do zmiennej, możesz użyć makra MAKEPOINTS, aby uzyskać strukturę POINTS z wartości zwracanej. Możesz również użyć makra GET_X_LPARAM lub GET_Y_LPARAM, aby wyodrębnić współrzędną x lub y.
Ważny
Nie należy używać LOWORD lub makr HIWORD wyodrębnić współrzędne x i y położenia kursora, ponieważ te makra zwracają nieprawidłowe wyniki w systemach z wieloma monitorami. Systemy z wieloma monitorami mogą mieć współrzędne ujemne x i y, a LOWORD i HIWORD traktują współrzędne jako ilości niepodpisane.
Wymagania
Wymaganie | Wartość |
---|---|
Minimalny obsługiwany klient |
Windows 2000 Professional [tylko aplikacje klasyczne] |
Minimalny obsługiwany serwer |
Windows 2000 Server [tylko aplikacje klasyczne] |
Nagłówek |
|
Zobacz też
-
referencyjne
-
koncepcyjne
-
danych wejściowych myszy -
innych zasobów
-
PUNKTÓW