Klient området musen meldinger

Et vindu mottar en klient området musen melding når en musehendelsen oppstår i vinduets klientområdet. Når brukeren beveger markøren i klientområdet, posterer systemet WM_MOUSEMOVE meldingen til vinduet. Det bokfører en av følgende meldinger når brukeren trykker eller slipper en museknapp mens markøren er i klientområdet.

Melding Betydning
WM_LBUTTONDBLCLK Venstre museknapp ble dobbeltklikker.
WM_LBUTTONDOWN Venstre museknapp ble trykket.
WM_LBUTTONUP Venstre museknapp ble utgitt.
WM_MBUTTONDBLCLK Midtre museknapp ble dobbeltklikker.
WM_MBUTTONDOWN Midtre museknapp ble trykket.
WM_MBUTTONUP Midtre museknapp ble utgitt.
WM_RBUTTONDBLCLK Høyreklikk var dobbeltklikker.
WM_RBUTTONDOWN Høyre museknapp ble trykket.
WM_RBUTTONUP Høyre museknapp ble utgitt.

Meldingsparametere for

LParam -parameteren for en klient området musen melding angir plasseringen av markøren aktiveringspunktet. Signifikante ordet angir x-koordinaten for aktiveringspunktet, og ordet signifikante angir y-koordinat. Koordinatene er gitt i klient-koordinater. I koordinatsystemet klient, er alle punkter på skjermen gitt forhold til koordinatene (0,0) i øvre venstre hjørne av klientområdet.

Parameteren wParam inneholder flagg som angir statusen på andre museknappene og ctrl- og SKIFT-tasten samtidig med musen hendelsen. Du kan se etter disse flaggene når musen meldingsbehandlingen avhenger av tilstanden for en annen museknappen eller av ctrl- eller SKIFT-tasten. LParam -parameteren kan være en kombinasjon av følgende verdier.

Verdi Betydning
MK_CONTROL Ctrl-tasten er nede.
MK_LBUTTON Venstre museknapp er nede.
MK_MBUTTON Midtre museknapp er nede.
MK_RBUTTON Høyre museknapp er nede.
MK_SHIFT Skift er nede.

Dobbeltklikk meldinger

Når brukeren klikker en museknapp to ganger i rask rekkefølge, genererer systemet en Dobbeltklikk-melding. Når brukeren klikker en knapp, oppretter systemet et rektangel som er sentrert rundt markøren aktiveringspunktet. Den merker også tid der at klikket skjedde. Når brukeren klikker den samme knappen en gang, vil systemet bestemmer om det het flekk er fortsatt innenfor rektanglet, og beregner tiden som har gått siden det første klikket. Hvis det het flekk er fortsatt innenfor rektanglet, og medgått tid ikke overskredet Dobbeltklikk verdien for tidsavbrudd, genererer systemet en Dobbeltklikk-melding.

Et program kan få, og angi verdier for Dobbeltklikk tidsavbrudd ved hjelp av funksjonene for GetDoubleClickTime og SetDoubleClickTime , henholdsvis. Programmet kan også angi verdien for tidsavbrudd for Dobbeltklikk ved å bruke SPI_SETDOUBLECLICKTIME-flagget med den SystemParametersInfo -funksjonen. Det kan også angi størrelsen på rektanglet som systemet bruker til å gjenkjenne dobbeltklikker ved å sende flaggene SPI_SETDOUBLECLKWIDTH og SPI_SETDOUBLECLKHEIGHT til SystemParametersInfo. Merk imidlertid at Innstillingsverdi Dobbeltklikk tidsavbrudd og rektangel, påvirker alle programmer.

Et programdefinert vindu mottar, som standard, ikke Dobbeltklikk meldinger. Disse meldingene genereres på grunn av at systemet omkostningene som er involvert i generere Dobbeltklikk meldinger, bare for windows som hører til klasser som har stilen for CS_DBLCLKS-klassen. Programmet må angi denne stilen når du registrerer Vindusklassen. Hvis du vil ha mer informasjon, kan du se Vindusklasser.

En Dobbeltklikk-melding er alltid den tredje meldingen i en serie med fire-melding. De første to meldingene er knappen ned og knappen opp meldinger som er generert av det første klikket. Det andre klikket genererer Dobbeltklikk meldingen, etterfulgt av en annen knapp opp melding. For eksempel genererer når du dobbeltklikker venstre museknapp følgende melding sekvens:

WM_LBUTTONDOWN
WM_LBUTTONUP
WM_LBUTTONDBLCLK
WM_LBUTTONUP

Et program bruker vanligvis en Dobbeltklikk-melding til å utvide en aktivitet det begynte under en knapp nede meldingen fordi et vindu alltid mottar en knapp nede melding før du mottar en Dobbeltklikk-melding. For eksempel når brukeren klikker en farge i fargepaletten i Microsoft Paint, viser maling den valgte fargen ved siden av paletten. Når brukeren dobbeltklikker en farge, maling viser fargen og åpner dialogboksen Rediger farger vises.

Index