Delen via


Bewerkingsinstellingen

Een bewerkingselement is een rechthoekig controlevenster dat meestal wordt gebruikt in een dialoogvenster om gebruikers tekst te laten invoeren en bewerken.

Besturingselementen voor bewerken ondersteunen zowel de Unicode-tekenset waarin tekens twee bytes zijn en ANSI-tekensets waarin tekens één byte zijn. Zie Unicode- en tekensetsvoor meer informatie over Unicode- en ANSI-tekensets.

Rich edit controls bieden ondersteuning voor veel functies die niet beschikbaar zijn in systeembewerkingscontroles. Zie Rich Edit Controlsvoor meer informatie.

In dit overzicht worden de volgende onderwerpen besproken.

Bewerk Controlefuncties

Wanneer het is geselecteerd, geeft een besturingselement voor bewerken een knipperende caret weer die de invoegpositie aangeeft. De gebruiker kan vervolgens tekst invoeren, de invoegpositie verplaatsen of tekst selecteren die moet worden bewerkt met behulp van het toetsenbord of de muis. Een bewerkingscontrole stuurt meldingscodes naar het bovenliggende venster in de vorm van WM_COMMAND berichten. Raadpleeg Edit Control-meldingsberichtenvoor meer informatie over berichten van een bewerkingsbesturingselement. Een bovenliggend venster kan berichten verzenden naar een bewerkingscontrole in een dialoogvenster door de functie SendDlgItemMessage aan te roepen. Sommige berichten kunnen ook worden verzonden met behulp van vooraf gedefinieerde macro's.

Het systeem biedt besturingselementen voor bewerken met één regel en besturingselementen voor bewerken met meerdere regels. Bewerkingsbesturingselementen behoren tot de vensterklasse EDIT.

Een keuzelijst met invoervak is een element dat veel van de functionaliteit van een invoervak en een keuzelijst combineert. In een keuzelijst met invoervak toont de bewerkingsfunctie de huidige selectie en biedt de keuzelijst opties die een gebruiker kan selecteren. Zie Keuzelijsten met invoervakvoor meer informatie over keuzelijsten met invoervak.

Veel ontwikkelaars gebruiken de dialoogvensters in de algemene dialoogvensterbibliotheek (Comdlg32.dll) om taken uit te voeren waarvoor anders aangepaste besturingselementen voor bewerken zijn vereist. Zie Algemene dialoogvensterbibliotheekvoor informatie over algemene dialoogvensters.

Besturingselementtypen en -stijlen bewerken

Een afzonderlijk besturingselement voor bewerken kan meerdere stijlen tegelijk hebben. De meeste ontwikkelaars gebruiken hulpprogramma's voor het ontwikkelen van dialoogvensters en hoeven dus mogelijk niet expliciet besturingsstijlen voor bewerken op te geven. Als een toepassing een besturingselement voor bewerken maakt met behulp van de functie CreateWindow of CreateWindowEx, moeten echter deze besturingselementstijlen worden opgegeven. Voor een tabel met bewerkingsbesturingselementstijlen, zie Bewerking Besturingselementstijlen.

Elk besturingselement voor bewerken geeft een combinatie van stijlwaarden op die het uiterlijk en de functies van het besturingselement bewerken definiëren. De stijlwaarden kunnen het uiterlijk van een eenregelig of meerregelig invoerveld bepalen; de tekst in het veld uitlijnen; en bepalen hoe en zelfs of tekst wordt weergegeven in het bewerkingsveld.

Meerrijige stijl

Er zijn twee regelstijlen voor het bewerken van besturingselementen. De standaardinstelling is een besturingselement voor bewerken met één regel. Een toepassing kan ook een bewerkingsbesturingselement voor meerdere regels creëren met behulp van de stijl ES_MULTILINE.

Scrollstijlen

De stijl ES_AUTOHSCROLL zorgt ervoor dat de bewerkingscontrole de tekst indien nodig horizontaal verschuift wanneer de gebruiker tekst invoert. Als deze stijl niet is opgegeven, kan het besturingselement voor bewerken niet horizontaal schuiven. Voor besturingselementen met één regel voor bewerken, zonder ES_AUTOHSCROLL, worden alleen de tekens geaccepteerd die het zichtbare gebied van het besturingselement vullen. Voor bewerkingsbesturingselementen met meerdere regels zonder ES_AUTOHSCROLLgaat de tekst naar de volgende regel wanneer de gebruiker meer tekst invoert dan op één regel kan worden weergegeven. Als ES_AUTOHSCROLL is opgegeven voor een bewerkingsvak met meerdere regels, scrolt het horizontaal wanneer de gebruiker meer tekst invoert dan op één regel kan worden weergegeven; de tekst wordt niet omgebroken.

ES_AUTOHSCROLL wordt automatisch toegepast op een links uitgelijnde, meerregelige bewerkingscontrole met een WS_HSCROLL stijl. Met andere woorden, elke links uitgelijnde, meerregelige tekstverwerker met een horizontale schuifbalk scrollt automatisch horizontaal.

ES_AUTOHSCROLL wordt genegeerd door een besturingselement voor bewerken met meerdere regels dat niet links is uitgelijnd. Gecentreerde en rechts uitgelijnde bewerkingsbesturingselementen met meerdere regels kunnen niet horizontaal worden geschoven.

De stijl ES_AUTOVSCROLL geeft aan dat het bewerkingsveld de tekst verticaal moet scrollen wanneer de gebruiker meer tekst invoert dan in het bewerkingsveld kan worden weergegeven. Deze stijl is alleen van toepassing op bewerkingsbesturingselementen met meerdere regels. Als deze stijl niet is opgegeven voor een besturingselement voor bewerken met meerdere regels, accepteert het besturingselement bewerken de invoer niet wanneer er meer tekst wordt ingevoerd dan kan worden weergegeven.

Uitlijningsstijlen

Er zijn drie stijlen waardoor het systeem de tekst in een besturingselement voor bewerken kan uitlijnen. De stijlen ES_LEFT, ES_CENTERen ES_RIGHT bepalen of tekst respectievelijk aan de linkerkant, het midden of rechts is uitgelijnd. Rechts uitgelijnde en gecentreerde multi-regel bewerkingsvelden kunnen de stijl ES_AUTOHSCROLL niet hebben; dat wil zeggen, ze kunnen niet horizontaal scrollen.

Hoewel het niet mogelijk is om de uitlijningsstijl van een besturingselement dynamisch te wijzigen, kunnen de volgende technieken worden gebruikt om deze beperking te omzeilen:

  • Maak meerdere bewerkingsbesturingselementen, één voor elke stijl die de toepassing nodig heeft en schakel naar behoefte tussen deze besturingselementen.
  • Maak een nieuw besturingselement voor bewerken met de gewenste stijl zoals deze nodig is en schakel over naar het nieuwe besturingselement.

Tekst- en invoerstijlen

Een toepassing kan stijlen gebruiken om aan te geven hoe tekst wordt weergegeven in het bewerkingselement. De stijl ES_LOWERCASE zorgt ervoor dat alle hoofdletters die in het bewerkingselement worden ingevoerd, naar kleine letters worden omgezet. Op dezelfde manier zorgt de stijl ES_UPPERCASE ervoor dat alle kleine letters worden geconverteerd naar hoofdletters.

Zie Unicode- en tekensetsvoor meer informatie over tekensets.

De stijl ES_NUMBER beperkt invoer tot alleen cijfers in het bewerkingselement.

De stijl ES_READONLY wijzigt het besturingselement bewerken naar de status Alleen-lezen.

In de stijl ES_PASSWORD worden alle tekens in een besturingselement met één regel als sterretjes weergegeven. Een toepassing kan een ander teken definiëren dat moet worden weergegeven met behulp van het EM_SETPASSWORDCHAR bericht, zoals verderop in dit onderwerp wordt beschreven.

Als een besturingselement bewerken afkomstig is van Comctl32.dll versie 6, is een zwarte cirkel het standaardteken voor de ES_PASSWORD stijl. In bewerkingsbesturingselementen uit eerdere versies van de algemene besturingselementen is het standaardteken een sterretje.

De stijl ES_OEMCONVERT zorgt ervoor dat tekst die in het bewerkingsbesturingselement is ingetypte, wordt geconverteerd van de Windows-Tekenset naar de OEM-Tekenset en vervolgens terug naar de Windows-Tekenset. Dit zorgt ervoor dat de juiste tekenconversie wordt uitgevoerd wanneer de toepassing de CharToOem functie aanroept om een Windows-tekenreeks te converteren in het besturingselement bewerken naar OEM-tekens. ES_OEMCONVERT is het handigst voor bewerkingsvelden die bestandsnamen bevatten die worden gebruikt op bestandssystemen die Unicode niet ondersteunen.

Voor een besturingselement met meerdere regels in een dialoogvenster zorgt de ES_WANTRETURN stijl ervoor dat het besturingselement een regelterugloop invoegt wanneer de gebruiker op enter drukt tijdens het invoeren van tekst. Als deze stijl niet is opgegeven, heeft het drukken op de Enter-toets hetzelfde effect als het drukken op de standaardknop in het dialoogvenster. Zonder ES_WANTRETURNmoet de gebruiker op CTRL+ENTER drukken om een regelterugkeer in te voegen. Voor meer informatie over Wordomloop en regeleinden verwerken, zie Wordomloop- en Regeleinden verwerken.

Visuele stijlen

De stijl ES_NOHIDESEL zorgt ervoor dat de geselecteerde tekst gemarkeerd blijft wanneer het bewerkingsveld niet in focus is. Zonder deze stijl verliest de geselecteerde tekst de markering wanneer het besturingselement de focus verliest.

In de standaardinstelling heeft een bewerkingselement geen rand. Een toepassing kan de vensterstijl WS_BORDER gebruiken om het te geven.

Als u visuele stijlen wilt gebruiken met bewerkingselementen, moet een toepassing een manifest bevatten en moet aan het begin van het programma InitCommonControls worden aangeroepen. Zie Visuele stijlenvoor meer informatie over visuele stijlen. Zie Visuele stijlen inschakelenvoor meer informatie over manifesten.

De tekstbuffer

In het systeem wordt de tekst van een besturingselement in een buffer opgeslagen en indien nodig naar het besturingselement gekopieerd.

In de volgende onderwerpen wordt besproken hoe het systeem de buffer toewijst en initialiseert en de kenmerken ervan wijzigt:

Een tekstbuffer toewijzen

Wanneer het systeem een besturingselement voor bewerken maakt, wordt automatisch een tekstbuffer gemaakt, wordt de oorspronkelijke grootte ingesteld en wordt de grootte indien nodig verhoogd. De grootte kan maximaal een vastgestelde limiet van ongeveer 32 kilobyte (KB) zijn voor invoervakken met een enkele regel. Omdat deze limiet kan worden gewijzigd, wordt deze een zachte limiet genoemd. Een toepassing kan een vaste limiet instellen voor de buffergrootte door een EM_SETLIMITTEXT bericht naar het besturingselement bewerken te verzenden. Als de buffer een van beide limieten overschrijdt, verzendt het systeem de toepassing een EN_ERRSPACE meldingscode. Een toepassing kan de huidige tekstlimiet ophalen door een EM_GETLIMITTEXT bericht te verzenden.

Het systeem maakt doorgaans een bewerkingsbuffer in een dialoogvenster, door gebruik te maken van geheugen buiten het gegevenssegment van de toepassing. Een toepassing kan dit standaardtoewijzingsgedrag onderdrukken en de buffer maken op basis van de lokale heap met behulp van de DS_LOCALEDIT-stijl (zie 'Sjabloonstijlen voor dialoogvensters' in Dialoogvensters) bij het aanmaken van de bewerkingscontrole. Een toepassing die gebruikmaakt van de stijl DS_LOCALEDIT is verantwoordelijk voor alle buffertoewijzingen. Voor de eerste toewijzing kan een toepassing de LocalAlloc functie aanroepen en de geretourneerde buffergreep doorgeven aan het bewerkingselement door een EM_SETHANDLE bericht te verzenden. Als u volgende toewijzingen wilt maken (bijvoorbeeld als reactie op een EN_ERRSPACE meldingscode), moet een toepassing de huidige bufferinhoud (indien nodig) opslaan en als volgt een nieuwe buffer verkrijgen.

Volg deze procedure om de huidige buffer op te slaan en een nieuwe te verkrijgen.

  1. Haal de ingang op van het geheugen dat momenteel is toegewezen voor de tekst in een besturingselement met meerdere regels door het besturingselement een EM_GETHANDLE bericht te verzenden.
  2. Maak de buffer vrij door de functie LocalFree aan te roepen.
  3. Haal een nieuwe buffer (en bufferhandle) op door LocalAllocaan te roepen.
  4. Geef de buffergreep aan het systeem door een EM_SETHANDLE bericht naar het besturingselement te verzenden.

De berichten EM_SETHANDLE en EM_GETHANDLE zijn alleen van toepassing op meerregelige invoervelden.

Een toepassing die gebruikmaakt van het standaardgedrag voor toewijzing (dat wil zeggen, gebruikt niet de stijl DS_LOCALEDIT (zie 'Sjabloonstijlen voor dialoogvensters' in Dialoogvensters)) mag geen EM_SETHANDLE en EM_GETHANDLE berichten sturen naar het bewerkingselement.

Het verzenden van een EM_SETHANDLE bericht heeft verschillende bijwerkingen: hiermee wordt de vlag ongedaan maken gewist (waardoor het EM_CANUNDO bericht nul retourneert), wordt de wijzigingsvlag gewist (waardoor het EM_GETMODIFY bericht nul retourneert) en wordt het besturingselementvenster voor bewerken opnieuw getekend.

Een tekstbuffer initialiseren

Een toepassing kan de tekstbuffer van een bewerkingselement initialiseren of opnieuw initialiseren door de functie SetDlgItemText aan te roepen. Een toepassing kan de inhoud van een tekstbuffer ophalen door de functie GetDlgItemText aan te roepen.

Een tekstbuffer alleen lezen maken

Voor elk besturingselement voor bewerken onderhoudt het systeem een alleen-lezen vlag die aangeeft of de tekst van het besturingselement lezen/schrijven is (de standaardinstelling) of alleen-lezen. Een toepassing kan de lees-/schrijfvlag of de alleen-lezenvlag voor de tekst instellen door een EM_SETREADONLY bericht naar het besturingselement te verzenden. Om te bepalen of een bewerkingscontrole alleen-lezen is, kan een toepassing de GetWindowLong functie aanroepen met behulp van de GWL_STYLE constante. Het EM_SETREADONLY bericht is van toepassing op enkel- en meerregelige bewerkingsbesturingselementen.

De opmaakrechthoek wijzigen

De zichtbaarheid van de tekst van een bewerkingselement wordt bepaald door de afmetingen van de vensterrechthoek en de opmaakrechthoek. De rechthoek van het venster is het clientgebied van het venster dat de bewerkingscontrole bevat. De opmaakrechthoek is een constructie die wordt onderhouden door het systeem voor het opmaken van de tekst die wordt weergegeven in de rechthoek van het venster. Wanneer een invoerveld voor het eerst wordt weergegeven, zijn de twee rechthoeken identiek op het scherm. Een toepassing kan de opmaakrechthoek groter maken dan de rechthoek van het venster (waardoor de zichtbaarheid van de tekst van het besturingselement wordt beperkt) of kleiner is dan de rechthoek van het venster (waardoor er extra witruimte rond de tekst ontstaat).

Een toepassing kan de coördinaten van de opmaakrechthoek van een bewerkingscontrole instellen door het een EM_SETRECT bericht te verzenden. Het EM_SETRECT bericht tekent ook automatisch de tekst van het bewerkingsvak opnieuw. Als u de coördinaten van de opmaakrechthoek wilt bepalen zonder de tekst van het besturingselement opnieuw te tekenen, kan een toepassing het besturingselement een EM_SETRECTNP bericht verzenden. Als een toepassing de coördinaten van de rechthoek met opmaak wil ophalen, kan het een bericht EM_GETRECT naar het besturingselement verzenden. Deze berichten zijn alleen van toepassing op tekstvelden met meerdere regels.

Bewerk meldingsberichten voor besturingselementen

De gebruiker doet bewerkingsaanvragen met behulp van het toetsenbord en de muis. Het systeem verzendt elk verzoek naar het oudervenster van het bewerkingselement in de vorm van een WM_COMMAND bericht. Het bericht bevat de bewerkingsbesturingselement-id in het laag-betekenende woord van de parameter wParam, de handle van het bewerkingsbesturingselement in de parameter lParam en een meldingscode voor bewerkingsbesturingselement die overeenkomt met de actie van de gebruiker in het hoog-betekenende woord van de parameter wParam.

Een toepassing moet de meldingscodes onderzoeken die bij elk meldingsbericht horen en op de juiste wijze reageren. De volgende tabel bevat elke meldingscode voor bewerkingsbesturingselement en de actie die dat genereert.

Meldingscode Gebruikersactie
EN_CHANGE De gebruiker heeft tekst gewijzigd in een bewerkingsveld. Het systeem werkt de weergave bij voordat deze meldingscode wordt verzonden (in tegenstelling tot EN_UPDATE).
EN_ERRSPACE Het bewerkingselement kan niet genoeg geheugen toewijzen om aan een concreet verzoek te voldoen.
EN_HSCROLL De gebruiker heeft op de horizontale schuifbalk van het besturingselement geklikt. Het systeem verzendt deze meldingscode voordat het scherm wordt bijgewerkt.
EN_KILLFOCUS De gebruiker heeft een ander controle-element geselecteerd.
EN_MAXTEXT Tijdens het invoegen van tekst heeft de gebruiker het opgegeven aantal tekens voor het besturingselement bewerken overschreden. De invoeging is ingekort. Deze meldingscode wordt ook verzonden wanneer een besturingselement voor bewerken niet de stijl ES_AUTOHSCROLL heeft en het aantal tekens dat moet worden ingevoegd de breedte van het besturingselement voor bewerken overschrijdt of wanneer een besturingselement voor bewerken niet de stijl ES_AUTOVSCROLL heeft en het totale aantal regels dat moet worden ingevoegd, groter is dan de hoogte van het besturingselement bewerken.
EN_SETFOCUS De gebruiker heeft dit bewerkingsbesturingselement geselecteerd.
EN_UPDATE De gebruiker heeft de tekst in het besturingselement bewerken gewijzigd en het systeem staat op het punt om de nieuwe tekst weer te geven. Het systeem verzendt deze meldingscode na het opmaken van de tekst, maar voordat deze wordt weergegeven, zodat de toepassing het formaat van het besturingselementvenster kan wijzigen.
EN_VSCROLL De gebruiker heeft op de verticale schuifbalk van het besturingselement geklikt of heeft het muiswiel boven het besturingselement gedraaid. Het systeem verzendt deze meldingscode voordat het scherm wordt bijgewerkt.
EN_SEARCHWEB De gebruiker heeft op de contextmenuopdracht Zoeken op internet geklikt. Het systeem verzendt deze melding nadat de browser is gestart.

Bovendien verzendt het systeem een WM_CTLCOLOREDIT bericht naar het bovenliggende venster van een bewerkingsbesturingselement voordat het besturingselement wordt getekend. Dit bericht bevat een handvat van de weergavecontext van het bewerkingsbesturingselement (DC) en een handvat van het onderliggende venster. Het bovenliggende venster kan deze handvatten gebruiken om de tekst- en achtergrondkleuren van het bewerkingselement te wijzigen.

Standaardberichtverwerking voor besturingselement bewerken

De vensterprocedure voor de vooraf gedefinieerde besturingselementvensterklasse voert standaardverwerking uit voor alle berichten die de bewerkingsprocedure niet verwerkt. Wanneer de bewerkingsbeheerprocedure FALSE retourneert voor een bericht, controleert de vooraf gedefinieerde vensterprocedure de berichten en voert de volgende standaardacties uit.

Bericht Standaardactie
EM_CANUNDO Retourneert TRUE als de bewerking ongedaan kan worden gemaakt.
EM_CHARFROMPOS Retourneert de tekenindex en regelindex van het teken dat het dichtst bij het opgegeven punt staat.
EM_EMPTYUNDOBUFFER Hiermee wordt de buffer voor ongedaan maken geleegd en wordt de ongedaan maken-vlag ingesteld die door het EM_CANUNDO bericht is opgehaald, ingesteld op ONWAAR. Het systeem wist automatisch de vlag ongedaan maken wanneer het besturingselement voor bewerken een WM_SETTEXT of EM_SETHANDLE bericht ontvangt.
EM_FMTLINES Hiermee worden zachte regelafbrekingstekens (twee carriage returns en een line feed) toegevoegd aan of verwijderd van de uiteinden van afgebroken regels in een meerdere regels bewerkingsveld. Het wordt niet verwerkt door enkele lijnbewerkingsbesturingselementen.
EM_GETFIRSTVISIBLELINE Retourneert de op nul gebaseerde index van het eerste zichtbare teken in een bewerkingsbesturingselement met één regel of de op nul gebaseerde index van de bovenste zichtbare regel in een besturingselement voor bewerking met meerdere regels.
EM_GETHANDLE Retourneert een handle die de buffer identificeert waarin de tekst van het meerregelige bewerkingselement is opgeslagen. Het wordt niet verwerkt door éénregelige bewerkingselementen.
EM_GETLIMITTEXT Retourneert de huidige tekstlimiet in tekens.
EM_GETLINE Kopieert tekens in een eenregel bewerkingsveld naar een buffer en retourneert het aantal gekopieerde tekens. In een controle-element met meerdere regels, wordt een tekstregel uit het controle-element opgehaald en wordt het aantal gekopieerde tekens geretourneerd.
EM_GETLINECOUNT Retourneert het aantal regels in het bewerkingselement.
EM_GETMARGINS Retourneert de breedte van de linker- en rechtermarges.
EM_GETMODIFY Retourneert een vlag die aangeeft of de inhoud van een bewerkingscontrole is gewijzigd.
EM_GETPASSWORDCHAR Retourneert het teken dat gebruikt wordt door bewerkingselementen in combinatie met de stijl ES_PASSWORD.
EM_GETRECT Retourneert de coördinaten van de opmaakrechthoek in een bewerkingscontrole.
EM_GETSEL Retourneert de begin- en eindtekenposities van de huidige selectie in het besturingselement bewerken.
EM_GETTHUMB Retourneert de positie van het schuifvak in de verticale schuifbalk in een besturingselement voor bewerken met meerdere regels.
EM_GETWORDBREAKPROC Retourneert het adres van de huidige regelterugloopfunctie in een bewerkingsbesturingselement.
EM_LINEFROMCHAR Retourneert het op nul gebaseerde getal van de regel in een besturingselement voor bewerking met meerdere regels dat een opgegeven tekenindex bevat. Dit bericht is het omgekeerde van het EM_LINEINDEX bericht. Het wordt niet verwerkt door besturingselementen voor bewerken met één regel.
EM_LINEINDEX Retourneert het teken van een regel in een besturingselement voor bewerken met meerdere regels. Dit bericht is het omgekeerde van het EM_LINEFROMCHAR bericht. Het wordt niet verwerkt door besturingselementen voor bewerken met één regel.
EM_LINELENGTH Retourneert de lengte, in tekens, van een bewerkingsbesturingselement met één regel. In een besturingselement voor bewerken met meerdere regels wordt de lengte, in tekens, van een opgegeven regel geretourneerd.
EM_LINESCROLL Schuift de tekst verticaal in een eenregelig besturingselement of horizontaal in een meerregelig bewerkingselement (wanneer het besturingselement de stijl ES_LEFT heeft). De parameter lParam geeft het aantal regels aan dat verticaal moet scrollen, beginnend bij de huidige regel. De parameter wParam geeft het aantal tekens aan dat horizontaal moet worden geschoven, beginnend vanaf het huidige teken.
EM_POSFROMCHAR Retourneert de clientcoördinaten van het opgegeven teken.
EM_REPLACESEL Vervangt de huidige selectie door de tekst in een door de toepassing geleverde buffer, verzendt het bovenliggende venster EN_UPDATE en EN_CHANGE meldingcodes, en werkt de buffer voor ongedaan maken bij.
EM_SCROLL Schuift de tekst verticaal in een besturingselement voor bewerken met meerdere regels. Dit bericht is gelijk aan het verzenden van een WM_VSCROLL bericht naar de bewerkingscontrole. Het wordt niet verwerkt door éénregelbewerkingsbesturingen.
EM_SCROLLCARET Brengt de caret in beeld in een bewerkingsveld.
EM_SETFONT Niet ondersteund.
EM_SETHANDLE Hiermee stelt u een ingang in op het geheugen dat wordt gebruikt als een tekstbuffer, wordt de buffer ongedaan maken leeggemaakt, worden de schuifposities opnieuw ingesteld op nul en wordt het venster opnieuw getekend.
EM_SETLIMITTEXT Hiermee stelt u het maximum aantal tekens in dat de gebruiker in het bewerkingsveld mag invoeren. Voor bewerkingsbesturingselementen voor één regel is deze waarde 0x7FFFFFFE of de waarde van de parameter wParam, afhankelijk van welke kleiner is. Voor besturingselementen voor bewerken met meerdere regels is deze waarde 1 of de waarde van de parameter wParam, afhankelijk van wat kleiner is.
EM_SETMARGINS Hiermee stelt u de breedte van de linker- en rechtermarges in en tekent u het besturingselement voor bewerken opnieuw om de nieuwe marges weer te geven.
EM_SETMODIFY Hiermee wordt de wijzigingsvlag ingesteld of gewist om aan te geven of het bewerkingsbesturingselement is gewijzigd.
EM_SETPASSWORDCHAR Hiermee definieert u het teken dat bewerkingselementen gebruiken in combinatie met de stijl ES_PASSWORD.
EM_SETREADONLY Hiermee stelt u de alleen-lezenstijl (ES_READONLY) in of verwijdert u deze in een bewerkingselement.
EM_SETRECT Hiermee stelt u de opmaakrechthoek voor het besturingselement voor bewerken met meerdere regels in en tekent u het venster opnieuw. Het wordt niet verwerkt door besturingselementen voor bewerken met één regel.
EM_SETRECTNP Hiermee stelt u de opmaakrechthoek in voor de bewerkingscontrole met meerdere lijnen, maar wordt het venster niet opnieuw getekend. Het wordt niet verwerkt door éénregelige bewerkingselementen.
EM_SETSEL Hiermee selecteert u een reeks tekens in het bewerkingsbesturingselement door de begin- en eindposities in te stellen die moeten worden geselecteerd.
EM_SETTABSTOPS Hiermee stelt u de tabstopposities in voor het meerregelige bewerkingselement. Het wordt niet verwerkt door besturingselementen voor bewerken met één regel.
EM_SETWORDBREAKPROC Vervangt de standaardfunctie Wordwrap door een door de toepassing gedefinieerde Wordwrap-functie.
EM_UNDO Hiermee verwijdert u alle tekst die zojuist is ingevoegd of voegt u verwijderde tekens in en stelt u de selectie in op de ingevoegde tekst. Verzendt de EN_UPDATE en EN_CHANGE meldingscodes indien nodig naar het oudervenster.
WM_CHAR Hiermee schrijft u een teken naar het besturingselement voor bewerking met één regel en verzendt u de EN_UPDATE en EN_CHANGE meldingscodes naar het bovenliggende venster. Schrijft een teken naar de meerregelige bewerkingscontrole. Hiermee worden de sneltoetsen voor standaardfuncties verwerkt, zoals Ctrl+C voor kopiëren en Ctrl+V voor plakken. In meerregelige bewerkingsbesturingselementen worden ook Tab- en Ctrl+Tab-toetsaanslagen verwerkt om tussen de elementen in een dialoogvenster te schakelen en tabs in meerregelige bewerkingsbesturingselementen in te voegen. Gebruikt de functie MessageBeep voor ongeldige tekens.
WM_CLEAR Hiermee wist u de huidige selectie, indien aanwezig, in een besturingselement bewerken. Als er geen huidige selectie is, verwijdert u het teken rechts van de caret. Als de gebruiker op de Shift-toets drukt, wordt de selectie geknipt en naar het klembord gekopieerd, of wordt het teken links van de cursor verwijderd wanneer er geen selectie is. Als de gebruiker op de Ctrl-toets drukt, wordt de selectie verwijderd of naar het einde van de regel verwijderd wanneer er geen selectie is.
WM_COPY Kopieert tekst naar het klembord, tenzij de stijl ES_PASSWORDis, in welk geval het bericht nul teruggeeft.
WM_CREATE Hiermee maakt u het bewerkingselement aan en meldt het aan het moedervenster met TRUE voor succes of 1 voor falen.
WM_CUT Zet de selectie op het klembord of verwijdert het teken links van de cursor als er geen selectie is.
WM_ENABLE Zorgt ervoor dat de rechthoek opnieuw wordt getekend in grijs voor invoervakken voor éénregelbewerkingen. Retourneert de ingeschakelde toestand van bewerkbesturingselementen voor zowel een- als meerregelige invoer.
WM_ERASEBKGND Vult het meerregelig bewerkingsvenster met de huidige kleur van het bewerkingsvenster.
WM_GETDLGCODE Retourneert de volgende waarden: DLGC_WANTCHARS, DLGC_HASSETSEL en DLGC_WANTARROWS. In besturingselementen voor bewerken met meerdere regels wordt ook DLGC_WANTALLKEYS geretourneerd. Als de gebruiker op Alt+BACKSPACE drukt, wordt ook DLGC_WANTMESSAGE geretourneerd.
WM_GETFONT Retourneert de handle van het lettertype dat wordt gebruikt door het besturingselement of NULL als het besturingselement het systeemlettertype gebruikt.
WM_GETTEXT Kopieert het opgegeven aantal tekens naar een buffer en retourneert het aantal gekopieerde tekens.
WM_GETTEXTLENGTH Retourneert de lengte, in tekens, van de tekst in een bewerkingsveld. De lengte bevat geen nulterminerende teken.
WM_HSCROLL Schuift de tekst in een besturingselement met meerdere regels horizontaal en verwerkt de beweging van het schuifvak.
WM_KEYDOWN Voert standaardverwerking van de codes voor virtuele sleutels uit.
WM_KILLFOCUS Hiermee verwijdert u de toetsenbordfocus van een bewerkingsbesturingselementvenster, vernietigt u de caret, verbergt u de huidige selectie en wordt het bovenliggende venster geïnformeerd dat het bewerkingsbesturingselement de focus heeft verloren.
WM_LBUTTONDBLCLK Hiermee verwijdert u de huidige selectie en selecteert u het woord dat zich onder de cursor bevindt. Als de Shift-toets is ingedrukt, breidt u de selectie uit naar het woord onder de cursor.
WM_LBUTTONDOWN Hiermee wijzigt u de huidige invoegpositie. Als de Shift-toets is ingedrukt, breidt u de selectie uit naar de positie van de cursor. In besturingselementen voor bewerken met meerdere regels stelt u ook de timer in om automatisch te schuiven wanneer de gebruiker de muisknop buiten het besturingselementvenster met meerdere regels ingedrukt houdt.
WM_LBUTTONUP Laat de muisopname los en stelt de invoegpositie van de tekst in het besturingselement voor bewerken met één regel in. In een besturingselement voor bewerken met meerdere regels beëindigt u ook de timer die is ingesteld in het WM_LBUTTONDOWN bericht.
WM_MOUSEMOVE Wijzigt de huidige selectie in het invoerveld met één regel als de muisknop ingedrukt is. In een meerregelig bewerkingsvak stelt ook de timer in om automatisch te scrollen als de gebruiker de muisknop ingedrukt houdt buiten het meerregelige bewerkingsvenster.
WM_NCCREATE Wijs de CREATESTRUCT structuur voor het venster aan. Dit bericht wordt verzonden naar het WM_CREATE bericht wanneer er voor het eerst een venster wordt gemaakt.
WM_NCDESTROY Hiermee wordt al het geheugen vrijgemaakt dat is gekoppeld aan het bewerkingsvenster, inclusief de tekstbuffer, de ongedaan maken-buffer, de tabstopbuffer en het markeerpenseel.
WM_PAINT Hiermee wist u de achtergrond, vult u het venster met de huidige kleur van het bewerkingselementvenster, tekent u de rand (indien aanwezig), stelt u het lettertype in, tekent u eventuele tekst, en toont het de tekstcursor.
WM_PASTE Hiermee plakt u tekst van het klembord in het bewerkingsvenster op de positie van de cursor.
WM_SETFOCUS Hiermee stelt u de toetsenbordfocus in van een bewerkingsvenster (toont de huidige selectie als deze verborgen was en maakt de cursor aan).
WM_SETFONT Hiermee stelt u het lettertype in en kunt u indien gewenst het bewerkelement opnieuw tekenen.
WM_SETTEXT Kopieert tekst naar het eenregelig invoerveld, geeft het bovenliggende venster een notificatie wanneer er onvoldoende geheugen is, leegt de buffer voor ongedaan maken, en verzendt de EN_UPDATE en EN_CHANGE meldingscodes naar het bovenliggende venster. In besturingselementen voor bewerken met meerdere regels worden de lijnen ook heringepakt (indien nodig) en worden de schuifposities ingesteld.
WM_SIZE Hiermee stelt u de grootte van het besturingselementvenster voor bewerken in, zodat de grootte geschikt is voor de hoogte en breedte van een teken.
WM_SYSCHAR Retourneert TRUE als de gebruiker op Alt+BACKSPACE drukt; anders wordt er geen actie ondernomen.
WM_SYSKEYDOWN De laatste actie ongedaan maken als de gebruiker op Alt+BACKSPACE drukt; anders wordt er geen actie ondernomen.
WM_TIMER Schuift de tekst in het bewerkingsvenster als de gebruiker de muisknop buiten het meerregelige bewerkingsvenster ingedrukt houdt.
WM_UNDO Hiermee verwijdert u alle tekst die zojuist is ingevoegd of voegt u verwijderde tekens in en stelt u de selectie in op de ingevoegde tekst. Verzendt indien nodig de EN_UPDATE en EN_CHANGE meldingscodes naar het bovenliggende venster.
WM_VSCROLL Scrollt een bewerkingsveld met meerdere regels verticaal en verwerkt de beweging van het schuifvak. Het wordt niet verwerkt door besturingselementen voor bewerken met één regel.

De vooraf gedefinieerde besturingselementvensterprocedure geeft alle andere berichten door aan de DefWindowProc--functie voor standaardverwerking.