Tegn- og linje-operasjoner

TheWin32 API gir flere meldinger som returnerer informasjon om tegnene og linjer i en redigeringskontroll. De fleste av meldingene returnere en indeks, vanligvis et null-baserte tall til å referere til et tegn eller en linje. Gitt dette, enkeltlinje redigeringskontroll som inneholder n tegn, linje indeksen er null og tegnene er indeksert fra null til n -1. Rediger kontrollen som inneholder m linjer i en flere linjer og n tegn, linjene er indeksert fra null til m – 1, og tegnene er indeksert fra null til n -1. Legg merke til at tegnet indeksering ignorerer linjeskift.

Et program kan bestemme hvor mange tegn i en redigeringskontroll ved å sende meldingen WM_GETTEXTLENGTH til edit-kontrollen. Denne meldingen returnerer lengden, i tegn (ikke inkludert på nulltegnet), teksten i en enlinjet eller flerlinjet edit-kontrollen. EM_LINELENGTH meldingen returnerer lengden, i tegn, av en linje som er angitt av tegn-indeksen for en tegnet på linjen. Den returnerte lengden inkluderer ikke alle merkede tegn. Et program kan bruke disse meldingene i en enlinjet eller flerlinjet redigeringskontroll.

EM_GETFIRSTVISIBLELINE meldingen returnerer nullbasert indeks av den øverste synlege lina i en Samkjøp redigeringskontroll eller nullbasert indeksen for det første synlige tegnet i en enlinjet redigeringskontroll. Et program kan kopiere en linje fra en redigeringskontroll til en buffer ved å sende meldingen EM_GETLINE til edit-kontrollen. Linjen er angitt av linjen indeksen, og det første ordet i den mottakende bufferen inneholder maksimalt antall byte som skal kopieres til bufferen. Returverdien er antallet byte som er overført. Denne meldingen kan også brukes i en enlinjet eller flerlinjet redigeringskontroll.

Det er unik meldinger som er tilgjengelig til å returnere informasjon om en linje i et flerlinjet edit-kontrollen. EM_GETLINECOUNT meldingen returnerer antall linjer i en redigeringskontroll. Et program kan bestemme indeksen for et tegn i en bestemt linje ved hjelp av EM_LINEFROMCHAR og EM_LINEINDEX -meldinger. EM_LINEFROMCHAR meldingen Returnerer indeksen for linjen som inneholder et angitt tegn index. Denne meldingen er motsatt av EM_LINEINDEX-meldingen, som returnerer indeksen for det første tegnet i en angitt linje.

Index