pesan WM_LBUTTONDOWN
Diposting ketika pengguna menekan tombol mouse kiri 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_LBUTTONDOWN 0x0201
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.
Nilai hasil
Jika aplikasi memproses pesan ini, aplikasi harus mengembalikan nol.
Contoh
LRESULT CALLBACK WndProc(_In_ HWND hWnd, _In_ UINT msg, _In_ WPARAM wParam, _In_ LPARAM lParam)
{
POINT pt;
switch (msg)
{
case WM_LBUTTONDOWN:
{
pt.x = GET_X_LPARAM(lParam);
pt.y = GET_Y_LPARAM(lParam);
}
break;
default:
return DefWindowProc(hWnd, msg, wParam, lParam);
}
return 0;
}
Untuk contoh selengkapnya, lihat Sampel Klasik Windows di GitHub.
Keterangan
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.
Untuk mendeteksi bahwa tombol ALT ditekan, periksa apakah GetKeyState dengan VK_MENU< 0. Perhatikan, ini tidak boleh GetAsyncKeyState.
Persyaratan
Persyaratan | Value |
---|---|
Klien minimum yang didukung |
Windows 2000 Professional [hanya aplikasi desktop] |
Server minimum yang didukung |
Windows 2000 Server [hanya aplikasi desktop] |
Header |
|
Baca juga
-
Referensi
-
Konseptual
-
Sumber Daya Lainnya
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk