Udostępnij za pośrednictwem


komunikat WM_NCXBUTTONDBLCLK

Opublikowano, gdy użytkownik kliknie dwukrotnie 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ść nie zostanie wysłana.

Okno odbiera ten komunikat za pośrednictwem funkcji WindowProc.

#define WM_NCXBUTTONDBLCLK              0x00AD

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ł dwukrotnie kliknięty. Może to być jedna z następujących wartości.

Wartość Znaczenie
XBUTTON1
0x0001
XBUTTON1 został dwukrotnie kliknięty.
XBUTTON2
0x0002
Drugi XBUTTON2 został dwukrotnie kliknięty.

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.

Okno nie musi mieć stylu CS_DBLCLKS do odbierania komunikatów WM_NCXBUTTONDBLCLK. System generuje komunikat WM_NCXBUTTONDBLCLK, gdy użytkownik naciska, zwalnia i ponownie naciska XBUTTON w ramach dwukrotnego limitu czasu. Dwukrotne kliknięcie jednego z tych przycisków powoduje wygenerowanie czterech komunikatów: WM_NCXBUTTONDOWN, WM_NCXBUTTONUP, WM_NCXBUTTONDBLCLKi WM_NCXBUTTONUP ponownie.

W przeciwieństwie do komunikatów WM_NCLBUTTONDBLCLK, WM_NCMBUTTONDBLCLKi WM_NCRBUTTONDBLCLK 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_NCXBUTTONDOWN

WM_NCXBUTTONUP

WM_SYSCOMMAND

koncepcyjne

danych wejściowych myszy

innych zasobów

MAKEPOINTS

PUNKTÓW