Windows Forhåndsdefinert Controls - Del 7 Volum - Windows brukergrensesnitt Innledning Dette er del 7 av serien min, Windows forhåndsdefinerte kontroller. For å forstå denne opplæringen, har du mest har lest alle de tidligere tutorials av serien. I denne delen av serien ser vi på meldinger om at søknaden kan sende til redigeringskontrollen. Vi ser også hvordan man skal arbeide med LoWord og HIWORD. Til slutt ser vi på en makro (funksjon). Merk: Hvis du ikke kan se koden, eller hvis du tror noe mangler (ødelagt kobling, bilde fraværende), bare kontakte meg på [email protected].
Det er, kontakt meg for den minste problemet du har om hva du leser. Meldinger som kan sendes Et program kan sende en melding til en redigeringskontroll. Meldingene er prosesser ved forhåndsdefinert vindusklasse prosedyre. For resten av denne serien skal vi se på disse redigere kontrollmeldinger. For å sende en melding til en kontroll, kan du bruke Sendmessage funksjon hvis syntaks er: LRESULT WinAPI Sendmessage (HWND hWnd, UINT Msg, wParam wParam, lParam lParam); Vi så denne syntaksen i en av de tidligere deler av serien. Denne funksjonen returnerer returverdien av meldingen.
For parametrene i funksjon, er hWnd håndtaket på kontrollen. Msg er meldingskoden (ID), for eksempel, EM_GETSEL (se nedenfor). wParam og lParam er for under hvilke data for meldingskoden. La oss nå få meldinger: Meldinger EM_CANUNDO Denne meldingen brukes til å avgjøre om den siste handlingen i redigeringskontrollen kan angres. Hvis det kan angres, er returverdien ikke er null. De wParam og lParam parametre for denne meldingen er ikke brukt og må hver være null (støpt til wParam eller lParam tilsvarende).
EM_CHARFROMPOS Søknad sender denne meldingen til redigeringskontrollen for å avgjøre karakteren nærmest et bestemt punkt i klientområdet av en redigeringskontroll. Her blir wParam parameter ikke benyttes; sette den til NULL. LParam parameter har koordinatene til det punktet av kontrollen klientområdet, i forhold til øverste venstre hjørne av klientområdet, i skjermenhetene. Den LoWord av lParam inneholder den horisontale koordinaten, mens HIWORD inneholder den vertikale koordinaten. Returverdien av meldingen returneres som LRESULT, som er den returnerte verdi av Sendmessage funksjon.
Den LoWord av LRESULT angir nullbasert indeks over karakteren nærmest bestemt punkt regnes fra det første tegnet av den første linjen. Hvis det angitte punktet er hinsides det siste tegnet i redigeringskontroll, indikere