Client gebied muis berichten

Een venster ontvangt een bericht van client gebied muis als een muis evenement binnen het clientgebied van het venster optreedt. Het systeem berichten het bericht WM_MOUSEMOVE naar het venster wanneer de gebruiker de cursor binnen het clientgebied beweegt. Het posten van een van de volgende berichten wanneer de gebruiker indrukt of een muisknop drukt loslaat terwijl de cursor zich binnen het clientgebied.

Bericht Betekenis
WM_LBUTTONDBLCLK De linkermuisknop werd gedubbelklikt.
WM_LBUTTONDOWN De linkermuisknop werd ingedrukt.
WM_LBUTTONUP De linkermuisknop werd uitgebracht.
WM_MBUTTONDBLCLK De middelste muisknop werd gedubbelklikt.
WM_MBUTTONDOWN De middelste muisknop werd ingedrukt.
WM_MBUTTONUP De middelste muisknop is losgelaten.
WM_RBUTTONDBLCLK De rechter muisknop was gedubbelklikt.
WM_RBUTTONDOWN De rechter muisknop werd ingedrukt.
WM_RBUTTONUP De rechter muisknop werd uitgebracht.

Bericht Parameters

De parameter lParam van een client gebied muis bericht geeft de positie van de cursor hot spot. De lage-orde woord duidt de x-co÷rdinaat van de hot spot en de eersterangs woord duidt de y-co÷rdinaat. De co÷rdinaten zijn in client co÷rdinatengegeven. In het clientsysteem co÷rdinaat, worden alle punten op het scherm gegeven relatief ten opzichte van de co÷rdinaten (0,0) van de linkerbovenhoek van het gebied.

De parameter wParam bevat vlaggen die aangeven van de status van de andere muisknoppen van de en de ctrl en shift-toetsen op het moment van de muisgebeurtenis. U kunt voor deze vlaggen wanneer de muis-berichtverwerking is afhankelijk van de status van een andere muisknop of van de toets ctrl of shift ingedrukt. De lParam parameter kan bestaan uit een combinatie van de volgende waarden.

Waarde Betekenis
MK_CONTROL De ctrl-toets is ingedrukt.
MK_LBUTTON De linker muisknop is ingedrukt.
MK_MBUTTON De middelste muisknop is ingedrukt.
MK_RBUTTON De rechter muisknop is ingedrukt.
MK_SHIFT De shift-toets is ingedrukt.

Dubbelklik op berichten

Als de gebruiker op een muisknop klikt tweemaal in snelle opeenvolging, genereert het systeem een bericht dubbelklikken. Wanneer de gebruiker op een knop klikt, wordt het systeem een rechthoek gecentreerd rond de hotspot cursor. Het markeert ook de tijd waarop de klik heeft plaatsgevonden. Wanneer de gebruiker op dezelfde toets een tweede keer, bepaalt het systeem of de hot spot nog steeds binnen de rechthoek is en berekent de tijd die is verstreken sinds de eerste klik. Als de hot spot is nog steeds binnen de rechthoek en de verstreken tijd niet overschreden de time-outwaarde dubbelklikken, genereert het systeem een bericht dubbelklikken.

Een toepassing kan krijgen en dubbelklik op outwaarden instellen met behulp van de functies GetDoubleClickTime en SetDoubleClickTime , respectievelijk. De toepassing kan echter ook de waarde voor time-out dubbelklikken instellen met behulp van de SPI_SETDOUBLECLICKTIME vlag met de SystemParametersInfo functie. Het kan ook de grootte van de rechthoek die het systeem gebruikt om te detecteren dubbelklikt door het passeren van de vlaggen SPI_SETDOUBLECLKWIDTH en SPI_SETDOUBLECLKHEIGHT te SystemParametersInfoinstellen. Merk echter op dat de rechthoek en dubbelklik op de waarde voor time-out instelling heeft invloed op alle toepassingen.

Een toepassing gedefinieerde venster ontvangt, standaard, geen berichten dubbelklikken. Vanwege van het systeem overhead die betrokken zijn bij dubbelklikken berichten genereren, zijn deze berichten alleen gegenereerd voor windows die behoren tot de klassen die de klassenstijl CS_DBLCLKS hebben. Uw toepassing moet deze stijl ingesteld wanneer de klasse venster registreren. Voor meer informatie, Zie Venster klassen.

Een dubbelklik op bericht is altijd de derde boodschap in een reeks van vier-bericht. De eerste twee berichten zijn de knop omlaag en omhoog berichten die worden gegenereerd door de eerste klik knoop. De tweede klik het dubbelklikken wordt gevolgd door een andere knop omhoog bericht gegenereerd. Bijvoorbeeld, te dubbelklikken op de linker muisknop genereert de volgende sequens:

WM_LBUTTONDOWN
WM_LBUTTONUP
WM_LBUTTONDBLCLK
WM_LBUTTONUP

Omdat een venster altijd een knop ingedrukt bericht ontvangt voordat een dubbelklik op het bericht, een toepassing gebruikt meestal een dubbelklik op bericht uit te breiden een taak die het begon tijdens een knop ingedrukt bericht. Bijvoorbeeld, wanneer de gebruiker op een kleur in het kleurenpalet van Microsoft Paint, wordt Paint de geselecteerde kleur naast het palet. Wanneer de gebruiker dubbelklikt op een kleur, verf geeft de kleur weer en opent het dialoogvensterkleuren bewerken .

Index