Udostępnij za pośrednictwem


komunikat WM_NCXBUTTONUP

Opublikowano, gdy użytkownik zwalnia XBUTTON1 lub XBUTTON2, gdy kursor znajduje się w obszarze innym niż klient okna. Ta wiadomość jest publikowana w oknie zawierającym kursor. Jeśli okno przechwyciło mysz, ta wiadomość jest nie wysłana.

Okno odbiera ten komunikat za pośrednictwem funkcji WindowProc.

#define WM_NCXBUTTONUP                  0x00AC

Parametry

wParam

Wyraz o niskiej kolejności określa wartość testu trafienia zwróconą przez funkcję DefWindowProc przetwarzania komunikatu WM_NCHITTEST. Aby uzyskać listę wartości testu trafień, zobacz WM_NCHITTEST.

Wyraz o wysokiej kolejności wskazuje, który przycisk został wydany. Może to być jedna z następujących wartości.

Wartość Znaczenie
XBUTTON1
0x0001
Wydano XBUTTON1.
XBUTTON2
0x0002
XBUTTON2 został wydany.

lParam

Wskaźnik do POINTS struktury, która zawiera współrzędne x i y kursora. Współrzędne są względne względem lewego górnego rogu ekranu.

Wartość zwracana

Jeśli aplikacja przetwarza ten komunikat, powinna zwrócić true. Aby uzyskać więcej informacji na temat przetwarzania wartości zwracanej, zobacz sekcję Uwagi.

Uwagi

System Windows obsługuje myszy z maksymalnie pięcioma przyciskami: lewym, środkowym i prawym oraz dwoma dodatkowymi przyciskami nazywanymi XBUTTON1 i XBUTTON2. Przyciski XBUTTON1 i XBUTTON2 są często zlokalizowane po bokach myszy w pobliżu podstawy. Te dodatkowe przyciski nie są obecne na wszystkich myszach. Jeśli istnieje, przyciski XBUTTON1 i XBUTTON2 są często mapowane na funkcję aplikacji, taką jak nawigacja do przodu i do tyłu w przeglądarce sieci Web.

Użyj następującego kodu, aby uzyskać informacje w parametrze wParam.

nHittest = GET_NCHITTEST_WPARAM(wParam); 
fwButton = GET_XBUTTON_WPARAM(wParam); 

Możesz również użyć następującego kodu, aby uzyskać współrzędne x i y z lParam:

xPos = GET_X_LPARAM(lParam); 
yPos = GET_Y_LPARAM(lParam); 

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.

Domyślnie funkcja DefWindowProc testuje określony punkt, aby uzyskać położenie kursora i wykonuje odpowiednią akcję. W razie potrzeby wysyła komunikat WM_SYSCOMMAND do okna.

W przeciwieństwie do komunikatów WM_NCLBUTTONUP, WM_NCMBUTTONUPi WM_NCRBUTTONUP aplikacja powinna zwrócić true z tego komunikatu, jeśli go przetworzy. Pozwoli to na oprogramowanie, które symuluje ten komunikat w systemach Windows starszych niż Windows 2000, aby określić, czy procedura okna przetworzyła komunikat lub o nazwie DefWindowProc go przetworzyć.

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
Winuser.h (w tym Windowsx.h)

Zobacz też

referencyjne

DefWindowProc

GET_X_LPARAM

GET_Y_LPARAM

WM_NCHITTEST

WM_NCXBUTTONDBLCLK

WM_NCXBUTTONDOWN

WM_SYSCOMMAND

koncepcyjne

danych wejściowych myszy

innych zasobów

MAKEPOINTS

PUNKTÓW