komunikat WM_XBUTTONDBLCLK
Opublikowany, gdy użytkownik kliknie dwukrotnie XBUTTON1 lub XBUTTON2, 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_XBUTTONDBLCLK 0x020D
Parametry
-
wParam
-
Wyraz o niskiej kolejności wskazuje, czy różne klucze wirtualne nie działają. Może to być jedna lub więcej 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. 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
XBUTTON2 został dwukrotnie kliknięty. -
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.
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:
fwKeys = GET_KEYSTATE_WPARAM (wParam);
fwButton = GET_XBUTTON_WPARAM (wParam);
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.
Tylko okna, które mają styl CS_DBLCLKS, mogą odbierać komunikaty WM_XBUTTONDBLCLK, które system generuje za każdym razem, gdy użytkownik naciska, zwalnia i ponownie naciska XBUTTON1 lub XBUTTON2 w ramach limitu czasu dwukrotnego kliknięcia systemu. Dwukrotne kliknięcie jednego z tych przycisków powoduje wygenerowanie czterech komunikatów: WM_XBUTTONDOWN, WM_XBUTTONUP, WM_XBUTTONDBLCLKi WM_XBUTTONUP ponownie.
W przeciwieństwie do komunikatów WM_LBUTTONDBLCLK, WM_MBUTTONDBLCLKi WM_RBUTTONDBLCLK 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 |
|
Zobacz też
-
referencyjne
-
koncepcyjne
-
danych wejściowych myszy -
innych zasobów
-
PUNKTÓW