İstemci alanında Fare iletileri

Pencerenin istemci alanı içinde bir fare olayı oluştuğunda bir pencere bir istemci alanında Fare iletisi alır. Kullanıcı istemci alanı içinde imleci ilerlediğinde sistem wm_mousemove ileti penceresine nakleder. Kullanıcı presler veya süre imleç istemci alanı içinde bir fare düğmesi serbest bırakır aşağıdaki iletilerden birini mesaj.

İleti Anlamı
WM_LBUTTONDBLCLK Sol fare düğmesini çift tıklatıldığında.
WM_LBUTTONDOWN Sol fare düğmesi basılı.
WM_LBUTTONUP Sol fare düğmesini serbest bırakıldı.
WM_MBUTTONDBLCLK Orta fare düğmesiyle çift tıklatıldığında.
WM_MBUTTONDOWN Orta fare düğmesi basılı.
WM_MBUTTONUP Orta fare düğmesini serbest bırakıldı.
WM_RBUTTONDBLCLK Sağ fare düğmesini çift tıklatıldığında.
WM_RBUTTONDOWN Sağ fare düğmesi basılı.
WM_RBUTTONUP Sağ fare düğmesini serbest bırakıldı.

İletinin parametreleri

LParam parametresinin istemci alanında Fare ileti imleç etkin noktanın konumunu gösterir. Alt sıra word etkin noktanın x-koordinatı belirtir ve yüksek sıralı word y-koordinatı belirtir. Koordinatları istemci koordinatlarıolarak verilir. İstemci koordinat sisteminde, ekrandaki tüm noktaları istemci alanının sol üst köşesindeki koordinatları (0,0) göreli olarak verilir.

WParam parametresi, fare olay anında başka bir fare düğme ve ctrl ve shift tuşlarını durumunu belirten bayraklar içerir. Ne zaman fare-ileti işleme durumuna başka bir fare düğmesi veya ctrl veya ÜSTKRKT tuşunu bağlıdır Bu bayraklar için kontrol edebilirsiniz. LParam parametresinin aşağıdaki değerleri birleşimi olabilir.

Değer Anlamı
MK_CONTROL Ctrl tuşunu basılı olduğu.
MK_LBUTTON Sol fare düğmesi çalışmıyor.
MK_MBUTTON Orta fare düğmesi çalışmıyor.
MK_RBUTTON Sağ fare düğmesi çalışmıyor.
MK_SHIFT Üst karakter tuşu çalışmıyor.

İletileri çift tıklatın

Kullanıcı bir fare düğmesine iki kez hızlı bir şekilde tıklattığında sistem çift ileti oluşturur. Kullanıcı bir düğmeyi tıklattığında, imleç sıcak nokta merkezli bir dikdörtgen sistemi kurar. Ayrıca, tıklama oluştuğu zaman da işaretler. Kullanıcı ikinci kez aynı düğmeyi tıklattığında, sıcak nokta hala dikdörtgen içinde ve ilk tıklatma beri geçen süreyi hesaplar sistemi belirler. Sıcak nokta hala dikdörtgen içinde geçen yok ise çift zaman aşımı değerini aştı, sistemi, çift ileti oluşturur.

Bir uygulama, alın ve GetDoubleClickTime ve SetDoubleClickTime işlevleri kullanarak çift zaman aşımı değerleri ayarlayabilirsiniz. Alternatif olarak, uygulama SPI_SETDOUBLECLICKTIME bayrak kullanarak çift zaman aşımı değerini ayarlayabilirsiniz SystemParametersInfo işlevi. Bu da tespit sistemi kullanan çift tıklattığında SystemParametersInfoiçin SPI_SETDOUBLECLKWIDTH ve SPI_SETDOUBLECLKHEIGHT bayrakları geçirerek dikdörtgenin boyutunu ayarlayabilirsiniz. Ancak, dikdörtgen ve çift zaman aşımı değeri ayarlama tüm uygulamaları etkilediğini unutmayın.

Uygulama tanımlı bir pencerede varsayılan olarak çift iletileri almaz. Sistem yükü nedeniyle çift iletileri oluşturma dahil, bu iletiler yalnızca cs_dblclks sınıf tarzı olan sınıflara ait windows için oluşturulur. Uygulamanız, pencere sınıfı kaydedilirken bu tarz ayarlamanız gerekir. Daha fazla bilgi için bkz: Pencere sınıfları.

Çift tıklatarak iletiyi her zaman dört-iletinin serisini üçüncü mesajdır. İlk iki iletileri düğme aşağı ve ilk tıklatma tarafından üretilen iletileri kadar düğme. İkinci tıklatma, çift tıklatma iletisini ve ardından ileti başka bir düğme tarafından oluşturur. Örneğin, sol fare düğmesini çift aşağıdaki ileti sırası oluşturur:

WM_LBUTTONDOWN
WM_LBUTTONUP
WM_LBUTTONDBLCLK
WM_LBUTTONUP

Çünkü bir pencereyi mesajı aşağı bir düğmeye bir çift ileti almadan önce alacağından, uygulama sırasında ileti düğmesine başladı görev genişletmek için çift ileti genellikle kullanır. Örneğin, kullanıcının Microsoft boya renk paletinde renk tıklattığında, boya seçilen renk paletinin yanındaki görüntüler. Kullanıcı bir renk tıklattığında, boya rengi görüntüler ve renkler iletişim kutusunuaçar .

Index