Bagikan melalui


pesan WM_MBUTTONUP

Diposting saat pengguna merilis tombol mouse tengah 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-nya.

#define WM_MBUTTONUP                    0x0208

Parameter

wParam

Menunjukkan apakah berbagai kunci virtual tidak berfungsi. Parameter ini bisa berupa satu atau beberapa nilai berikut.

Value Makna
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
Tombol X pertama tidak berfungsi.
MK_XBUTTON2
0x0040
Tombol X kedua tidak berfungsi.

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.

Perhatikan bahwa ketika menu pintasan ada (ditampilkan), koordinat relatif terhadap layar, bukan area klien. Karena TrackPopupMenu adalah panggilan asinkron dan pemberitahuan WM_MBUTTONUP tidak memiliki bendera khusus yang menunjukkan turunan koordinat, aplikasi tidak dapat mengetahui apakah koordinat x,y yang terkandung dalam lParam relatif terhadap layar atau area klien.

Nilai hasil

Jika aplikasi memproses pesan ini, aplikasi harus mengembalikan nol.

Keterangan

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 kekurangan nilai pengembalian dalam urutan rendah; koordinat y berada dalam pendek urutan 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 yang dikembalikan. 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.

Persyaratan

Persyaratan Value
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)

Baca juga

Referensi

GET_X_LPARAM

GET_Y_LPARAM

GetCapture

SetCapture

WM_MBUTTONDBLCLK

WM_MBUTTONDOWN

Konseptual

Mouse Input

Sumber Daya Lainnya

MAKEPOINTS

POIN