Bagikan melalui


pesan WM_XBUTTONDBLCLK

Diposting saat pengguna mengklik dua kali baik XBUTTON1 atau XBUTTON2 saat kursor berada di area klien jendela. Jika mouse tidak diambil, pesan diposting ke jendela di bawah kursor. Jika tidak, pesan diposting ke jendela yang telah mengambil mouse.

Jendela menerima pesan ini melalui fungsi WindowProc .

#define WM_XBUTTONDBLCLK                0x020D

Parameter

wParam

Kata berurutan rendah menunjukkan apakah berbagai kunci virtual tidak berfungsi. Ini bisa menjadi satu atau beberapa nilai berikut.

Nilai Arti
MK_CONTROL
0x0008
Tombol CTRL tidak berfungsi.
MK_LBUTTON
0x0001
Tombol mouse kiri tidak berfungsi.
MK_MBUTTON
0x0010
Tombol mouse tengah tidak berfungsi.
MK_RBUTTON
0x0002
Tombol kanan mouse tidak berfungsi.
MK_SHIFT
0x0004
Tombol SHIFT tidak berfungsi.
MK_XBUTTON1
0x0020
XBUTTON1 tidak berfungsi.
MK_XBUTTON2
0x0040
XBUTTON2 tidak berfungsi.

Kata berurutan tinggi menunjukkan tombol mana yang diklik dua kali. Ini bisa menjadi salah satu nilai berikut.

Nilai Arti
XBUTTON1
0x0001
XBUTTON1 diklik dua kali.
XBUTTON2
0x0002
XBUTTON2 diklik ganda.

lParam

Kata berurutan rendah menentukan koordinat x kursor. Koordinat relatif terhadap sudut kiri atas area klien.

Kata urutan tinggi menentukan koordinat y kursor. Koordinat relatif terhadap sudut kiri atas area klien.

Mengembalikan nilai

Jika aplikasi memproses pesan ini, aplikasi harus mengembalikan TRUE. Untuk informasi selengkapnya tentang memproses nilai yang dikembalikan, lihat bagian Keterangan.

Komentar

Windows mendukung tikus dengan hingga lima tombol: kiri, tengah, dan kanan, ditambah dua tombol tambahan yang disebut XBUTTON1 dan XBUTTON2. Tombol XBUTTON1 dan XBUTTON2 sering terletak di sisi mouse, di dekat dasar. Tombol tambahan ini tidak ada pada semua tikus. Jika ada, tombol XBUTTON1 dan XBUTTON2 sering dipetakan ke fungsi aplikasi, seperti navigasi maju dan mundur di browser Web.

Gunakan kode berikut untuk mendapatkan informasi dalam parameter wParam :

fwKeys = GET_KEYSTATE_WPARAM (wParam); 
fwButton = GET_XBUTTON_WPARAM (wParam); 

Gunakan kode berikut untuk mendapatkan posisi horizontal dan vertikal:

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

Seperti disebutkan di atas, koordinat x berada dalam pendek rendah dari nilai pengembalian; koordinat y berada dalam pendek berurutan tinggi (keduanya mewakili nilai yang ditandatangani karena dapat mengambil nilai negatif pada sistem dengan beberapa monitor). Jika nilai pengembalian ditetapkan ke variabel, Anda dapat menggunakan makro MAKEPOINTS untuk mendapatkan struktur POINTS dari nilai pengembalian. Anda juga dapat menggunakan makro GET_X_LPARAM atau GET_Y_LPARAM untuk mengekstrak koordinat x atau y.

Penting

Jangan gunakan makro LOWORD atau HIWORD untuk mengekstrak koordinat x- dan y- dari posisi kursor karena makro ini mengembalikan hasil yang salah pada sistem dengan beberapa monitor. Sistem dengan beberapa monitor dapat memiliki koordinat x dan y negatif, dan LOWORD dan HIWORD memperlakukan koordinat sebagai jumlah yang tidak ditandatangani.

Hanya jendela yang memiliki gaya CS_DBLCLKS yang dapat menerima pesan WM_XBUTTONDBLCLK, yang dihasilkan sistem setiap kali pengguna menekan, merilis, dan sekali lagi menekan XBUTTON1 atau XBUTTON2 dalam batas waktu klik ganda sistem. Mengklik dua kali salah satu tombol ini benar-benar menghasilkan empat pesan: WM_XBUTTONDOWN, WM_XBUTTONUP, WM_XBUTTONDBLCLK, dan WM_XBUTTONUP lagi.

Tidak seperti pesan WM_LBUTTONDBLCLK, WM_MBUTTONDBLCLK, dan WM_RBUTTONDBLCLK, aplikasi harus mengembalikan TRUE dari pesan ini jika memprosesnya. Melakukannya akan memungkinkan perangkat lunak yang mensimulasikan pesan ini pada sistem Windows yang lebih lama dari Windows 2000 untuk menentukan apakah prosedur jendela memproses pesan atau disebut DefWindowProc untuk memprosesnya.

Persyaratan

Syarat Nilai
Klien minimum yang didukung
Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung
Windows 2000 Server [hanya aplikasi desktop]
Header
Winuser.h (termasuk Windowsx.h)

Lihat juga

Referensi

DefWindowProc

GET_KEYSTATE_WPARAM

GET_X_LPARAM

GET_XBUTTON_WPARAM

GET_Y_LPARAM

GetCapture

GetDoubleClickTime

SetDoubleClickTime

WM_XBUTTONDOWN

WM_XBUTTONUP

Konseptual

Input Mouse

Sumber Daya Lain

MAKEPOINTS

POINTS