Bagikan melalui


struktur MOUSE_EVENT_RECORD

Penting

Dokumen ini menjelaskan fungsionalitas platform konsol yang tidak lagi menjadi bagian dari peta jalan ekosistem kami. Kami tidak menyarankan penggunaan konten ini dalam produk baru, tetapi kami akan terus mendukung penggunaan yang ada untuk masa depan yang tidak terbatas. Solusi modern pilihan kami berfokus pada urutan terminal virtual untuk kompatibilitas maksimum dalam skenario lintas platform. Anda dapat menemukan informasi selengkapnya tentang keputusan desain ini di konsol klasik vs. dokumen terminal virtual kami.

Menjelaskan peristiwa input mouse di konsol INPUT_RECORD struktur.

Sintaks

typedef struct _MOUSE_EVENT_RECORD {
  COORD dwMousePosition;
  DWORD dwButtonState;
  DWORD dwControlKeyState;
  DWORD dwEventFlags;
} MOUSE_EVENT_RECORD;

Anggota

dwMousePosition
Struktur COORD yang berisi lokasi kursor, dalam hal koordinat sel karakter buffer layar konsol.

dwButtonState
Status tombol mouse. Bit paling tidak signifikan sesuai dengan tombol mouse paling kiri. Bit paling tidak signifikan berikutnya sesuai dengan tombol mouse paling kanan. Bit berikutnya menunjukkan tombol mouse berikutnya ke kiri. Bit kemudian sesuai kiri ke kanan ke tombol mouse. Sedikit adalah 1 jika tombol ditekan.

Konstanta berikut didefinisikan untuk lima tombol mouse pertama.

Value Makna
0x0001 FROM_LEFT_1ST_BUTTON_PRESSED Tombol mouse paling kiri.
0x0004 FROM_LEFT_2ND_BUTTON_PRESSED Tombol kedua fom sebelah kiri.
0x0008 FROM_LEFT_3RD_BUTTON_PRESSED Tombol ketiga dari kiri.
0x0010 FROM_LEFT_4TH_BUTTON_PRESSED Tombol keempat dari kiri.
0x0002 RIGHTMOST_BUTTON_PRESSED Tombol mouse paling kanan.

dwControlKeyState
Status kunci kontrol. Anggota ini bisa menjadi satu atau beberapa nilai berikut.

Value Makna
CAPSLOCK_ON 0x0080 Lampu CAPS LOCK menyala.
ENHANCED_KEY 0x0100 Kunci ditingkatkan. Lihat komentar.
0x0002 LEFT_ALT_PRESSED Tombol ALT kiri ditekan.
0x0008 LEFT_CTRL_PRESSED Tombol CTRL kiri ditekan.
0x0020 NUMLOCK_ON Lampu NUM LOCK menyala.
0x0001 RIGHT_ALT_PRESSED Tombol ALT kanan ditekan.
0x0004 RIGHT_CTRL_PRESSED Tombol CTRL kanan ditekan.
0x0040 SCROLLLOCK_ON Lampu SCROLL LOCK menyala.
0x0010 SHIFT_PRESSED Tombol SHIFT ditekan.

dwEventFlags
Jenis peristiwa mouse. Jika nilai ini nol, itu menunjukkan tombol mouse sedang ditekan atau dilepaskan. Jika tidak, anggota ini adalah salah satu nilai berikut.

Value Makna
0x0002 DOUBLE_CLICK Klik kedua (tekan tombol) dari klik ganda terjadi. Klik pertama dikembalikan sebagai peristiwa tekan tombol biasa.
0x0008 MOUSE_HWHEELED Roda mouse horizontal dipindahkan.

Jika kata tinggi anggota dwButtonState berisi nilai positif, roda diputar ke kanan. Jika tidak, roda diputar ke kiri.
0x0001 MOUSE_MOVED Terjadi perubahan pada posisi tetikus.
0x0004 MOUSE_WHEELED Roda tetikus vertikal dipindahkan.

Jika kata tinggi anggota dwButtonState berisi nilai positif, roda diputar ke depan, jauh dari pengguna. Jika tidak, roda diputar mundur, ke arah pengguna.

Keterangan

Peristiwa mouse ditempatkan di buffer input saat konsol dalam mode mouse (ENABLE_MOUSE_INPUT).

Peristiwa mouse dihasilkan setiap kali pengguna memindahkan mouse, atau menekan atau melepaskan salah satu tombol mouse. Peristiwa mouse ditempatkan di buffer input konsol hanya ketika grup konsol memiliki fokus keyboard dan kursor berada di dalam batas jendela konsol.

Contoh

Misalnya, lihat Membaca Peristiwa Buffer Input.

Persyaratan

   
Klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Header WinConTypes.h (melalui WinCon.h, termasuk Windows.h)

Baca juga

COORD

INPUT_RECORD

PeekConsoleInput

ReadConsoleInput

WriteConsoleInput