Aracılığıyla paylaş


Fare Girişi

Bu bölümde, sistemin uygulamanıza nasıl fare girişi sağladığı ve uygulamanın bu girişi nasıl aldığı ve işlediği açıklanmaktadır.

Bu bölümde

Konu Açıklama
Fare Girişi Hakkında
Bu konuda fare girişi açıklanmaktadır.
Fare Girişi Kullanarak
Bu bölüm, fare girişiyle ilişkili görevleri kapsar.
fare giriş başvurusu

Işlev

Ad Açıklama
_TrackMouseEvent Fare işaretçisi bir pencereden ayrıldığında veya belirli bir süre boyunca pencerenin üzerine geldiğinde iletileri postalar. Bu işlev TrackMouseEvent varsa çağırır, aksi takdirde öykünur.
BlockInput Klavye ve fare girişi olaylarının uygulamalara ulaşmasını engeller.
DragDetect Fareyi yakalar ve kullanıcı sol düğmeyi serbest bırakana, ESC tuşuna basana veya fareyi belirtilen nokta etrafında sürükleme dikdörtgeninin dışına taşıyana kadar hareketini izler. Sürükleme dikdörtgeninin genişliği ve yüksekliği, GetSystemMetrics işlevi tarafından döndürülen SM_CXDRAG ve SM_CYDRAG değerleriyle belirtilir.
EnableMouseInPointer Farenin bir işaret cihazı olarak davranmasını sağlar.
EnableWindow Belirtilen pencereye veya denetime fare ve klavye girişini etkinleştirir veya devre dışı bırakır. Giriş devre dışı bırakıldığında, pencere fare tıklamaları ve tuş basmaları gibi girişleri almaz. Giriş etkinleştirildiğinde pencere tüm girişleri alır.
GetCapture Fareyi yakalayan pencere (varsa) tutamacını alır. Bir kerede yalnızca bir pencere fareyi yakalayabilir; bu pencere, imlecin kenarlıkları içinde olup olmadığına bakılmaksızın fare girişi alır.
GetDoubleClickTime Fare için geçerli çift tıklama süresini alır. Çift tıklama, fare düğmesinin iki tıklama dizisidir ve ikincisi ilk tıklamadan sonraki belirli bir süre içinde gerçekleşir. Çift tıklama süresi, çift tıklamanın ilk ve ikinci tıklaması arasında oluşabilecek en fazla milisaniye sayısıdır.
GetMouseMovePointsEx Farenin veya kalemin en fazla 64 önceki koordinatının geçmişini alır.
IsWindowEnabled Belirtilen pencerenin fare ve klavye girişi için etkinleştirilip etkinleştirilmediğini belirler.
ReleaseCapture Fare yakalamayı geçerli iş parçacığındaki bir pencereden serbest bırakır ve normal fare girişi işlemeyi geri yükler. Fareyi yakalayan bir pencere, imlecin konumuna bakılmaksızın, imlecin etkin noktası başka bir iş parçacığının penceresindeyken fare düğmesine tıklandığından bağımsız olarak tüm fare girişini alır.
SendInput Tuş vuruşlarını, fare hareketlerini ve düğme tıklamalarını sentezler.
SetCapture Fare yakalamasını geçerli iş parçacığına ait belirtilen pencereye ayarlar. SetCapture, fare yakalama penceresinin üzerindeyken veya fare yakalama penceresinin üzerindeyken fare düğmesine basıldığında ve düğme hala kapalıyken fare girişini yakalar. Bir kerede yalnızca bir pencere fareyi yakalayabilir.
Fare imleci başka bir iş parçacığı tarafından oluşturulan bir pencerenin üzerindeyse, sistem fare girişini yalnızca fare düğmesi aşağı olduğunda belirtilen pencereye yönlendirir.
SetDoubleClickTime Fare için çift tıklama süresini ayarlar. Çift tıklama, bir fare düğmesinin iki tıklaması dizisidir ve ikincisi ilk tıklamadan sonraki belirli bir süre içinde gerçekleşir. Çift tıklama süresi, çift tıklamanın ilk ve ikinci tıklamaları arasında oluşabilecek en fazla milisaniye sayısıdır.
SwapMouseButton Sol ve sağ fare düğmelerinin anlamını tersine çevirir veya geri yükler.
TrackMouseEvent Fare işaretçisi bir pencereden ayrıldığında veya belirli bir süre boyunca pencerenin üzerine geldiğinde iletileri postalar.

Aşağıdaki işlev kullanımdan kaldırıldı.

Fonksiyon Açıklama
mouse_event Fare hareketini ve düğme tıklamalarını sentezler.

Bildirim

Ad Açıklama
WM_APPCOMMAND Örneğin, fareyi kullanarak bir uygulama komut düğmesine tıklayarak veya klavyede bir uygulama komut tuşu yazarak kullanıcının bir uygulama komut olayı oluşturduğunu bir pencereye bildirir.
WM_CAPTURECHANGED Fare yakalamasını kaybeden pencereye gönderilir.
WM_LBUTTONDBLCLK kullanıcı, bir pencerenin istemci alanındayken sol fare düğmesine çift tıkladığında postalanır. Fare yakalanmazsa, ileti imlecin altındaki pencereye postalanır. Aksi takdirde, ileti fareyi yakalayan pencereye postalanır.
WM_LBUTTONDOWN kullanıcı bir pencerenin istemci alanındayken sol fare düğmesine bastığında postalanır. Fare yakalanmazsa, ileti imlecin altındaki pencereye postalanır. Aksi takdirde, ileti fareyi yakalayan pencereye postalanır.
WM_LBUTTONUP kullanıcı sol fare düğmesini serbest bıraktığında, imleç bir pencerenin istemci alanındayken postalanır. Fare yakalanmazsa, ileti imlecin altındaki pencereye postalanır. Aksi takdirde, ileti fareyi yakalayan pencereye postalanır.
WM_MBUTTONDBLCLK kullanıcı, imleci bir pencerenin istemci alanındayken ortadaki fare düğmesine çift tıkladığında postalanır. Fare yakalanmazsa, ileti imlecin altındaki pencereye postalanır. Aksi takdirde, ileti fareyi yakalayan pencereye postalanır.
WM_MBUTTONDOWN kullanıcı, imleci bir pencerenin istemci alanındayken ortadaki fare düğmesine bastığında postalanır. Fare yakalanmazsa, ileti imlecin altındaki pencereye postalanır. Aksi takdirde, ileti fareyi yakalayan pencereye postalanır.
WM_MBUTTONUP kullanıcı, imleci bir pencerenin istemci alanındayken ortadaki fare düğmesini serbest bıraktığında postalanır. Fare yakalanmazsa, ileti imlecin altındaki pencereye postalanır. Aksi takdirde, ileti fareyi yakalayan pencereye postalanır.
WM_MOUSEACTIVATE İmleç etkin olmayan bir pencerede olduğunda ve kullanıcı fare düğmesine bastığında gönderilir. Üst pencere bu iletiyi yalnızca alt pencere DefWindowProc işlevine geçirirse alır.
WM_MOUSEHOVER İmleç, trackMouseEventönceki bir çağrıda belirtilen süre boyunca pencerenin istemci alanının üzerine geldiğinde bir pencereye postalanır.
WM_MOUSEHWHEEL Farenin yatay kaydırma tekerleği eğildiğinde veya döndürüldüğünde odak penceresine gönderilir. DefWindowProcişlevi, iletiyi pencerenin üst öğesine yar. DefWindowProc bunu işleyen bir pencere bulana kadar üst zincire yaydığından, iletinin iç iletmesi olmamalıdır.
WM_MOUSELEAVE İmleç, TrackMouseEvent'önceki bir çağrıda belirtilen pencerenin istemci alanından ayrıldığında bir pencereye postalanır.
WM_MOUSEMOVE İmleç hareket ettiğinde pencereye nakledilir. Fare yakalanmazsa, ileti imleci içeren pencereye postalanır. Aksi takdirde, ileti fareyi yakalayan pencereye postalanır.
WM_MOUSEWHEEL Fare tekerleği döndürüldüğünde odak penceresine gönderilir. DefWindowProc işlevi iletiyi pencerenin üst öğesine yayılır. DefWindowProc bunu işleyen bir pencere bulana kadar üst zincire yaydığından, iletinin iç iletmesi olmamalıdır.
WM_NCHITTEST Pencerenin hangi bölümünün belirli bir ekran koordinatına karşılık olduğunu belirlemek için bir pencereye gönderilir. Bu durum, örneğin imleç hareket ettiğinde, fare düğmesine basıldığında veya serbest bırakıldığında ya da WindowFromPointgibi bir işleve yapılan çağrıya yanıt olarak gerçekleşebilir. Fare yakalanmazsa, ileti imlecin altındaki pencereye gönderilir. Aksi takdirde, ileti fareyi yakalayan pencereye gönderilir.
WM_NCLBUTTONDBLCLK İmleç bir pencerenin istemci olmayan alanındayken kullanıcı sol fare düğmesine çift tıkladığında postalanır. Bu ileti, imleci içeren pencereye postalanır. Bir pencere fareyi yakaladıysa, bu ileti gönderilmez.
WM_NCLBUTTONDOWN kullanıcı sol fare düğmesine bastığında, imleç bir pencerenin istemci olmayan alanındayken postalanır. Bu ileti, imleci içeren pencereye postalanır. Bir pencere fareyi yakaladıysa, bu ileti gönderilmez.
WM_NCLBUTTONUP kullanıcı sol fare düğmesini serbest bıraktığında, imleç bir pencerenin istemci olmayan alanındayken postalanır. Bu ileti, imleci içeren pencereye postalanır. Bir pencere fareyi yakaladıysa, bu ileti gönderilmez.
WM_NCMBUTTONDBLCLK kullanıcı, imleci bir pencerenin istemci olmayan alanındayken ortadaki fare düğmesine çift tıkladığında postalanır. Bu ileti, imleci içeren pencereye postalanır. Bir pencere fareyi yakaladıysa, bu ileti gönderilmez.
WM_NCMBUTTONDOWN İmleç bir pencerenin istemci olmayan alanındayken kullanıcı ortadaki fare düğmesine bastığında postalanır. Bu ileti, imleci içeren pencereye postalanır. Bir pencere fareyi yakaladıysa, bu ileti gönderilmez.
WM_NCMBUTTONUP kullanıcı, imleci bir pencerenin istemci olmayan alanındayken ortadaki fare düğmesini serbest bıraktığında postalanır. Bu ileti, imleci içeren pencereye postalanır. Bir pencere fareyi yakaladıysa, bu ileti gönderilmez.
WM_NCMOUSEHOVER İmleç, trackMouseEventönceki bir çağrıda belirtilen süre boyunca pencerenin istemci olmayan alanının üzerine geldiğinde bir pencereye.
WM_NCMOUSELEAVE İmleç, TrackMouseEvent'önceki bir çağrıda belirtilen pencerenin istemci olmayan alanından ayrıldığında bir pencereye postalanır.
WM_NCMOUSEMOVE İmleç pencerenin istemci olmayan alanına taşındığında bir pencereye nakledilir. Bu ileti, imleci içeren pencereye postalanır. Bir pencere fareyi yakaladıysa, bu ileti gönderilmez.
WM_NCRBUTTONDBLCLK İmleç bir pencerenin istemci olmayan alanındayken kullanıcı sağ fare düğmesine çift tıkladığında postalanır. Bu ileti, imleci içeren pencereye postalanır. Bir pencere fareyi yakaladıysa, bu ileti gönderilmez.
WM_NCRBUTTONDOWN İmleç bir pencerenin istemci olmayan alanındayken kullanıcı sağ fare düğmesine bastığında postalanır. Bu ileti, imleci içeren pencereye postalanır. Bir pencere fareyi yakaladıysa, bu ileti gönderilmez.
WM_NCRBUTTONUP kullanıcı sağ fare düğmesini serbest bıraktığında, imleç bir pencerenin istemci olmayan alanındayken postalanır. Bu ileti, imleci içeren pencereye postalanır. Bir pencere fareyi yakaladıysa, bu ileti gönderilmez.
WM_NCXBUTTONDBLCLK İmleç pencerenin istemci olmayan alanındayken kullanıcı XBUTTON1 veya XBUTTON2 çift tıkladığında postalanır. Bu ileti, imleci içeren pencereye postalanır. Bir pencere fareyi yakaladıysa, bu ileti gönderilmez.
WM_NCXBUTTONDOWN İmleç bir pencerenin istemci olmayan alanındayken kullanıcı XBUTTON1 veya XBUTTON2 bastığında postalanır. Bu ileti, imleci içeren pencereye postalanır. Bir pencere fareyi yakaladıysa, bu ileti gönderilmez.
WM_NCXBUTTONUP İmleç bir pencerenin istemci olmayan alanındayken kullanıcı XBUTTON1 veya XBUTTON2 serbest bıraktığında postalanır. Bu ileti, imleci içeren pencereye postalanır. Bir pencere fareyi yakaladıysa, bu ileti gönderilmez.
WM_RBUTTONDBLCLK kullanıcı, bir pencerenin istemci alanındayken sağ fare düğmesine çift tıkladığında postalanır. Fare yakalanmazsa, ileti imlecin altındaki pencereye postalanır. Aksi takdirde, ileti fareyi yakalayan pencereye postalanır.
WM_RBUTTONDOWN İmleç bir pencerenin istemci alanındayken kullanıcı sağ fare düğmesine bastığında postalanır. Fare yakalanmazsa, ileti imlecin altındaki pencereye postalanır. Aksi takdirde, ileti fareyi yakalayan pencereye postalanır.
WM_RBUTTONUP kullanıcı bir pencerenin istemci alanındayken sağ fare düğmesini serbest bıraktığında postalanır. Fare yakalanmazsa, ileti imlecin altındaki pencereye postalanır. Aksi takdirde, ileti fareyi yakalayan pencereye postalanır.
WM_XBUTTONDBLCLK kullanıcı, imleç pencerenin istemci alanındayken XBUTTON1 veya XBUTTON2 çift tıkladığında postalanır. Fare yakalanmazsa, ileti imlecin altındaki pencereye postalanır. Aksi takdirde, ileti fareyi yakalayan pencereye postalanır.
WM_XBUTTONDOWN İmleç bir pencerenin istemci alanındayken kullanıcı XBUTTON1 veya XBUTTON2 bastığında postalanır. Fare yakalanmazsa, ileti imlecin altındaki pencereye postalanır. Aksi takdirde, ileti fareyi yakalayan pencereye postalanır.
WM_XBUTTONUP İmleç bir pencerenin istemci alanındayken kullanıcı XBUTTON1 veya XBUTTON2 serbest bıraktığında postalanır. Fare yakalanmazsa, ileti imlecin altındaki pencereye postalanır. Aksi takdirde, ileti fareyi yakalayan pencereye postalanır.

Yapı

Ad Açıklama
HARDWAREINPUT Klavye veya fare dışında bir giriş cihazı tarafından oluşturulan sanal ileti hakkında bilgi içerir.
INPUT Tuş vuruşları, fare hareketi ve fare tıklamaları gibi giriş olaylarını sentezleme için kullanılan bilgileri içerir.
LASTINPUTINFO Son girişin zamanını içerir.
MOUSEINPUT Sanal fare olayı hakkında bilgi içerir.
MOUSEMOVEPOINT Farenin konumuyla ilgili bilgileri ekran koordinatlarında içerir.
TRACKMOUSEEVENT TrackMouseEvent işlevi tarafından fare işaretçisinin bir pencereden ne zaman ayrıldığını veya belirli bir süre boyunca bir pencerenin üzerine geldiğinde izlemek için kullanılır.