Aracılığıyla paylaş


MOUSE_EVENT_RECORD yapısı

Önemli

Bu belgede artık ekosistem yol haritamızın bir parçası olmayan konsol platformu işlevselliği açıklanmaktadır. Bu içeriğin yeni ürünlerde kullanılmasını önermeyiz, ancak süresiz gelecek için mevcut kullanımları desteklemeye devam edeceğiz. Tercih edilen modern çözümümüz, platformlar arası senaryolarda maksimum uyumluluk için sanal terminal dizilerine odaklanır. Bu tasarım kararı hakkında daha fazla bilgiyi klasik konsol ve sanal terminal belgemizde bulabilirsiniz.

Konsol INPUT_RECORD yapısında fare girişi olayını açıklar.

Sözdizimi

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

Üyeler

dwMousePosition
konsol ekranı arabelleğinin karakter hücresi koordinatları açısından imlecin konumunu içeren COORD yapısı.

dwButtonState
Fare düğmelerinin durumu. En az önemli bit, en soldaki fare düğmesine karşılık gelir. Sonraki en az önemli bit, en sağdaki fare düğmesine karşılık gelir. Sonraki bit, en soldaki fare düğmesini gösterir. Bitler daha sonra fare düğmelerine sola, sağa karşılık gelir. Düğmeye basıldığında bit 1 olur.

İlk beş fare düğmesi için aşağıdaki sabitler tanımlanır.

Değer Anlamı
FROM_LEFT_1ST_BUTTON_PRESSED 0x0001 En soldaki fare düğmesi.
FROM_LEFT_2ND_BUTTON_PRESSED 0x0004 İkinci düğme sola doğru.
FROM_LEFT_3RD_BUTTON_PRESSED 0x0008 Soldan üçüncü düğme.
FROM_LEFT_4TH_BUTTON_PRESSED 0x0010 Soldaki dördüncü düğme.
RIGHTMOST_BUTTON_PRESSED 0x0002 En sağdaki fare düğmesi.

dwControlKeyState
Denetim anahtarlarının durumu. Bu üye aşağıdaki değerlerden biri veya daha fazlası olabilir.

Değer Anlamı
CAPSLOCK_ON 0x0080 CAPS LOCK ışığı açık.
ENHANCED_KEY 0x0100 Anahtar geliştirildi. Açıklamalara bakın.
LEFT_ALT_PRESSED 0x0002 Sol ALT tuşuna basılır.
LEFT_CTRL_PRESSED 0x0008 Soldaki CTRL tuşuna basılır.
NUMLOCK_ON 0x0020 NUM LOCK ışığı açık.
RIGHT_ALT_PRESSED 0x0001 Sağ ALT tuşuna basılır.
RIGHT_CTRL_PRESSED 0x0004 Sağ CTRL tuşuna basılır.
SCROLLLOCK_ON 0x0040 SCROLL LOCK ışığı açık.
SHIFT_PRESSED 0x0010 SHIFT tuşuna basılır.

dwEventFlags
Fare olayının türü. Bu değer sıfırsa, bir fare düğmesine basıldığını veya serbest bırakıldığını gösterir. Aksi takdirde, bu üye aşağıdaki değerlerden biridir.

Değer Anlamı
DOUBLE_CLICK 0x0002 Çift tıklamanın ikinci tıklaması (düğmeye basma) oluştu. İlk tıklama normal bir düğmeye basma olayı olarak döndürülür.
MOUSE_HWHEELED 0x0008 Yatay fare tekerleği hareket ettirildi.

dwButtonState üyesinin yüksek sözcüğü pozitif bir değer içeriyorsa tekerlek sağa döndürülür. Aksi takdirde tekerlek sola döndürülür.
MOUSE_MOVED 0x0001 Fare konumunda bir değişiklik oluştu.
MOUSE_WHEELED 0x0004 Dikey fare tekerleği hareket ettirildi.

dwButtonState üyesinin yüksek sözcüğü pozitif bir değer içeriyorsa, tekerlek kullanıcıdan uzakta ileri doğru döndürülür. Aksi takdirde tekerlek geriye, kullanıcıya doğru döndürülür.

Açıklamalar

Konsol fare modundayken (ENABLE_MOUSE_INPUT) fare olayları giriş arabelleğine yerleştirilir.

Kullanıcı fareyi her hareket ettikçe veya fare düğmelerinden birine bastığında veya serbest bıraktığında fare olayları oluşturulur. Fare olayları yalnızca konsol grubunun klavye odağı olduğunda ve imleç konsolun penceresinin sınırları içinde olduğunda konsolun giriş arabelleğine yerleştirilir.

Örnekler

Bir örnek için bkz. Giriş Arabellek Olaylarını Okuma.

Gereksinimler

   
Desteklenen en düşük düzeydeki istemci Windows 2000 Professional [yalnızca masaüstü uygulamaları]
Desteklenen en düşük sunucu Windows 2000 Server [yalnızca masaüstü uygulamaları]
Başlık WinConTypes.h (WinCon.h aracılığıyla Windows.h'yi dahil edin)

Ayrıca bakınız

COORD

INPUT_RECORD

PeekConsoleInput

ReadConsoleInput

WriteConsoleInput