Megosztás a következőn keresztül:


Tudnivalók a vezérlők szerkesztéséről

A szerkesztési vezérlő egy négyszögletes vezérlőablak, amelyet általában egy párbeszédpanelen használnak, amellyel a felhasználó szöveget írhat be és szerkeszthet.

A szerkesztési vezérlők támogatják mind azt a Unicode-karakterkészletet, amelyben a karakterek két bájtok, és az ANSI-karakterkészleteket, amelyekben a karakterek egy bájtból állnak. További információ a Unicode- és ANSI-karakterkészletekről: Unicode- és karakterkészletek.

Rich Edit vezérlők számos olyan funkciót támogatnak, amelyek nem érhetők el a rendszer szerkesztő vezérlőiben. A további részletekért lásd: Rich Edit Controls.

Ebben az áttekintésben az alábbi témaköröket tárgyaljuk.

Vezérlőfunkciók szerkesztése

Ha ki van jelölve, a szerkesztő mező egy villogó kurzort jelenít meg, amely a beszúrási pontot jelzi. A felhasználó ezután szöveget írhat be, áthelyezheti a beszúrási pontot, vagy kijelölheti a szerkeszteni kívánt szöveget a billentyűzet vagy az egér használatával. A szerkesztési vezérlő értesítési kódokat küld a szülőablakba WM_COMMAND üzenetek formájában. A szerkesztési vezérlők üzeneteiről további információt a Vezérlő értesítési üzenetek szerkesztésecímű témakörben talál. A szülőablakok a SendDlgItemMessage függvény meghívásával küldhetnek üzeneteket a párbeszédpanel szerkesztési vezérlőinek. Egyes üzeneteket előre definiált makrók használatával is elküldhet.

A rendszer egysoros szerkesztési vezérlőket és többsoros szerkesztési vezérlőket is biztosít. A szerkesztési vezérlők az EDIT ablakosztályhoz tartoznak.

A kombinált lista egy vezérlő, amely a szerkesztési vezérlő és a lista funkcióinak nagy részét egyesíti. A kombinált listában a szerkesztési vezérlő megjeleníti az aktuális kijelölést, a lista pedig megjeleníti a felhasználó által kiválasztható lehetőségeket. További információ a kombinált listákról: Kombinált listák.

Sok fejlesztő használja a közös párbeszédpaneltárban (Comdlg32.dll) található párbeszédpaneleket olyan feladatok végrehajtásához, amelyek egyébként egyéni szerkesztési vezérlőket igényelhetnek. A gyakori párbeszédpanelekről további információt a Közös párbeszédpaneltárcímű témakörben talál.

Vezérlőtípusok és stílusok szerkesztése

Az egyes szerkesztési vezérlők egyszerre több stílussal is rendelkezhetnek. A fejlesztők többsége eszközökkel fejleszti a párbeszédpaneleket, ezért előfordulhat, hogy nem kell explicit módon megadnia a szerkesztési vezérlőstílusokat. Ha egy alkalmazás szerkesztési vezérlőt hoz létre a CreateWindow vagy CreateWindowEx függvénnyel, akkor azonban meg kell adnia ezeket a szerkesztési vezérlőstílusokat. A szerkesztési vezérlőstílusok táblázatát lásd a Szerkesztési vezérlőstílusokcímű témakörben.

Minden szerkesztési vezérlő stílusértékek kombinációját adja meg, amelyek meghatározzák a szerkesztési vezérlő megjelenését és funkcióit. A stílusértékek meghatározhatják az egysoros vagy többsoros szerkesztési vezérlők megjelenését, a benne lévő szöveg igazítását, valamint azt, hogy a szöveg hogyan és akár meg is jelenik-e a szerkesztési vezérlőben.

Többsoros stílus

A szerkesztési vezérlőkhöz két vonalstílus használható. Az alapértelmezett egy egysoros szerkesztőmező. Az alkalmazások többsoros szerkesztési vezérlőt is létrehozhatnak a ES_MULTILINE stílus használatával.

Görgetési stílusok

A ES_AUTOHSCROLL stílus arra utasítja a szerkesztési vezérlőt, hogy szükség esetén vízszintesen görgesse a szöveget, miközben a felhasználó beírja a szöveget. Ha ez a stílus nincs megadva, a szerkesztési vezérlő nem tud vízszintesen görgetni. A ES_AUTOHSCROLLnélküli egysoros szerkesztési vezérlők esetében csak a vezérlőelem látható területét kitöltő karakterek fogadhatók el. Többsoros szerkesztési vezérlők esetén, amikor nincs ES_AUTOHSCROLL, a szöveg a következő sorba kerül, ha a felhasználó több szöveget ír be, mint amennyit egy sorban meg lehet jeleníteni. Ha ES_AUTOHSCROLL többsoros szerkesztési vezérlőhöz van megadva, a vezérlő vízszintesen görget, amikor a felhasználó több szöveget ír be, mint amennyit egy sorban megjeleníthet; a szöveg nem tördel.

ES_AUTOHSCROLL automatikusan alkalmazzák egy WS_HSCROLL stílussal rendelkező, balra igazított, többsoros szerkesztési vezérlőre. Más szóval a vízszintes görgetősávot tartalmazó, balra igazított, többsoros szerkesztési vezérlő automatikusan vízszintesen görget.

Egy nem balra igazított többsoros szerkesztési vezérlőt figyelmen kívül hagyja az ES_AUTOHSCROLL. A középre igazított és jobbra igazított többsoros szerkesztési vezérlők nem görgethetők vízszintesen

A ES_AUTOVSCROLL stílus arra utasítja a szerkesztési vezérlőt, hogy függőlegesen görgesse a szöveget, amikor a felhasználó több szöveget ír be, mint amennyit a szerkesztési vezérlőben megjeleníthet. Ez a stílus csak a többsoros szerkesztési vezérlőkre vonatkozik. Ha ez a stílus nincs megadva többsoros szerkesztési vezérlőhöz, a szerkesztési vezérlő nem fogadja el a bemenetet, ha több szöveget ír be, mint amennyit megjeleníthet.

Igazítási stílusok

Három stílus miatt a rendszer egy szerkesztési vezérlőben igazítja a szöveget. A ES_LEFT, a ES_CENTERés a ES_RIGHT stílus határozza meg, hogy a szöveg bal, középre vagy jobbra van-e igazítva. A jobbra igazított és középre igazított többsoros szerkesztési vezérlők nem rendelkeznek a ES_AUTOHSCROLL stílusával; vagyis nem tudnak vízszintesen görgetni.

Bár a szerkesztési vezérlők igazítási stílusa nem módosítható dinamikusan, a korlátozás megkerüléséhez az alábbi technikák használhatók:

  • Hozzon létre több szerkesztési vezérlőt, egyet az alkalmazás által igényelt stílusokhoz, és szükség szerint váltson közöttük.
  • Szükség szerint hozzon létre egy új szerkesztési vezérlőt a kívánt stílussal, és váltson az új vezérlőre.

Szöveg- és beviteli stílusok

Az alkalmazások stílusokkal határozhatják meg, hogy a szerkesztési vezérlő hogyan jeleníti meg a szöveget. A ES_LOWERCASE stílus hatására a szerkesztési vezérlőbe beírt összes nagybetű kisbetűssé alakul. Hasonlóképpen, a ES_UPPERCASE stílus miatt az összes kisbetű nagybetűvé alakul.

További információ a karakterkészletekről: Unicode és Karakterkészletek.

A ES_NUMBER stílus csak a szerkesztési vezérlőben lévő számjegyekre korlátozza a bemenetet.

A ES_READONLY stílus írásvédett állapotúra módosítja a szerkesztési vezérlőt.

A ES_PASSWORD stílus csillagként jeleníti meg az egysoros szerkesztési vezérlő összes karakterét. Az alkalmazások a jelen témakör későbbi részében ismertetett EM_SETPASSWORDCHAR üzenet használatával definiálhatnak egy másik megjelenítendő karaktert.

Ha egy szerkesztési vezérlő Comctl32.dll 6-os verzióból származik, a ES_PASSWORD stílus alapértelmezett karaktere egy fekete kör. A közös vezérlők korábbi verzióinak szerkesztési vezérlőiben az alapértelmezett karakter egy csillag.

A ES_OEMCONVERT stílus hatására a szerkesztési vezérlőbe beírt szöveg a Windows karakterkészletből az OEM karakterkészletbe, majd vissza a Windows-karakterkészletbe lesz konvertálva. Ez biztosítja a megfelelő karakterátalakítást, amikor az alkalmazás meghívja a CharToOem függvényt, hogy a szerkesztési vezérlőben lévő Windows-sztringet OEM-karakterekké alakítsa. ES_OEMCONVERT leginkább olyan fájlneveket tartalmazó szerkesztési vezérlők esetén hasznos, amelyek a Unicode-t nem támogató fájlrendszereken lesznek használva.

Egy párbeszédpanel többsoros szerkesztővezérlőjében a ES_WANTRETURN stílus lehetővé teszi, hogy a vezérlő sortörést végezzen, amikor a felhasználó lenyomja az ENTER billentyűt szöveg bevitele közben. Ha ez a stílus nincs megadva, az ENTER billentyű lenyomása ugyanolyan hatással van, mint a párbeszédpanel alapértelmezett leküldési gombjának lenyomása. A ES_WANTRETURNnélkül a felhasználónak a CTRL+ENTER billentyűkombinációt meg kell nyomnia a kocsivissza karakter beszúrásához. A Wordwrapról és a sortörésről további információt a A Wordwrap és a Sortörések kezelésecímű témakörben talál.

Vizuális stílusok

A ES_NOHIDESEL stílus hatására a kijelölt szöveg ki van emelve, ha a szerkesztési vezérlő nincs fókuszban. E stílus nélkül a kijelölt szöveg elveszíti a kiemelést, amikor a vezérlőelem elveszíti a fókuszt.

Alapértelmezés szerint a szerkesztési vezérlőnek nincs szegélye. Egy alkalmazás a WS_BORDER ablakstílust használhatja.

Ha szerkesztési vezérlőkkel szeretne vizuális stílusokat használni, az alkalmazásnak tartalmaznia kell egy jegyzékfájlt, és meg kell hívnia InitCommonControls a program elején. A vizuális stílusokról további információt Vizuális stílusokcímű témakörben talál. A jegyzékekről szóló információkat a Vizuális stílusok engedélyezésetémakörben találja.

A szövegpuffer

A rendszer tárolja a vezérlő szövegének szerkesztését egy pufferben, és szükség szerint átmásolja a vezérlőbe.

Az alábbi témakörök azt ismertetik, hogy a rendszer hogyan foglalja le és inicializálja a puffert, és hogyan módosítja annak jellemzőit:

Szövegpuffer kiosztása

Amikor a rendszer létrehoz egy szerkesztési vezérlőt, automatikusan létrehoz egy szövegpuffert, beállítja a kezdeti méretet, és szükség szerint növeli a méretet. Egysoros szerkesztési vezérlők esetében a méret legfeljebb egy körülbelül 32 kilobájtos (KB) előre meghatározott korlát lehet. Mivel ez a korlát változhat, ezt soft limitnek nevezzük. Az alkalmazások egy EM_SETLIMITTEXT üzenet szerkesztési vezérlőbe való küldésével beállíthatják a pufferméretre vonatkozó korlátot. Ha a puffer túllépi a korlátot, a rendszer egy EN_ERRSPACE értesítési kódot küld az alkalmazásnak. Egy alkalmazás egy EM_GETLIMITTEXT üzenet küldésével lekérheti az aktuális szövegkorlátot.

A rendszer általában létrehoz egy szerkesztésvezérlő puffert egy párbeszédpanelen, amely az alkalmazás adatszegmensén kívüli memóriát használ. Az alkalmazások letilthatják ezt az alapértelmezett foglalási viselkedést, és létrehozhatják a puffert a helyi halomból a DS_LOCALEDIT stílus használatával (lásd a párbeszédpanel-sablonstílusokat A párbeszédpanelek névjegye) szakaszában a szerkesztési vezérlő létrehozásakor. A DS_LOCALEDIT stílust használó alkalmazás felelős az összes pufferfoglalásért. A kezdeti lefoglalás elvégzéséhez az alkalmazás meghívhatja a LocalAlloc függvényt, és egy EM_SETHANDLE üzenet küldésével továbbíthatja a visszaadott pufferfogópontot a szerkesztési vezérlőnek. A későbbi foglalások elvégzéséhez (például egy EN_ERRSPACE értesítési kódra válaszul) az alkalmazásnak mentenie kell az aktuális puffertartalmat (ha szükséges), és be kell szereznie egy új puffert az alábbiak szerint.

Az aktuális puffer mentéséhez és egy új beszerzéséhez kövesse ezt az eljárást.

  1. Adja vissza a többsoros szerkesztési vezérlő memóriájának leíróját, amely jelenleg a szöveghez van lefoglalva, azáltal, hogy elküld egy EM_GETHANDLE üzenetet a vezérlőnek.
  2. A puffer felszabadítása a LocalFree függvény meghívásával.
  3. Szerezze be az új puffert (és a pufferfogópontot) a LocalAllocmeghívásával.
  4. A vezérlő EM_SETHANDLE üzenet küldésével adja meg a pufferfogópontot a rendszernek.

A EM_SETHANDLE és EM_GETHANDLE üzenetek csak a többsoros szerkesztési vezérlőkre vonatkoznak.

Az alapértelmezett foglalási viselkedést használó alkalmazások (azaz nem használják a DS_LOCALEDIT stílust (lásd a párbeszédpanelsablonok stílusát a Párbeszédpanel-sablonstílusok)) nem küldhetnek EM_SETHANDLE és EM_GETHANDLE üzeneteket a szerkesztési vezérlőnek.

Az EM_SETHANDLE üzenet elküldésének számos mellékhatása van: törli a visszavonás jelzőt (így az EM_CANUNDO üzenet nullát ad vissza), törli a módosítási jelzőt (így a EM_GETMODIFY üzenet nullát ad vissza), és újrarajzolva a szerkesztési vezérlőablakot.

Szövegpuffer inicializálása

Az alkalmazások inicializálhatják vagy újrainicializálhatják a szerkesztési vezérlő szövegpufferét a SetDlgItemText függvény meghívásával. Az alkalmazások a GetDlgItemText függvény meghívásával lekérhetik a szövegpuffer tartalmát.

Szövegpuffer írásvédetté tétele

Minden szerkesztési vezérlő esetében a rendszer egy írásvédett jelzőt tart fenn, amely jelzi, hogy a vezérlő szövege olvasási/írási (alapértelmezett) vagy írásvédett. Egy alkalmazás beállíthatja az olvasási/írási jelzőt vagy az írásvédett jelzőt a szöveg számára a vezérlőelem EM_SETREADONLY üzenet küldésével. Annak megállapításához, hogy egy szerkesztési vezérlő írásvédett-e, az alkalmazás meghívhatja a GetWindowLong függvényt a GWL_STYLE állandó használatával. A EM_SETREADONLY üzenet az egysoros és a többsoros szerkesztési vezérlőkre egyaránt vonatkozik.

A formázási téglalap módosítása

A szerkesztési vezérlő szövegének láthatóságát az ablak téglalapjának méretei és formázási téglalapja szabályozza. Az ablak téglalapja a szerkesztési vezérlőt tartalmazó ablak ügyfélterülete. A formázási téglalap egy olyan szerkezet, amelyet a rendszer az ablak téglalapjában megjelenő szöveg formázására tart fenn. Amikor először megjelenik egy szerkesztési vezérlő, a két téglalap azonos a képernyőn. Egy alkalmazás a formázási téglalapot az ablak téglalapnál nagyobbra (ezáltal a szerkesztési vezérlő szövegének láthatóságát korlátozva) vagy kisebbre teheti, mint az ablak téglalapja (ezáltal további üres terület jön létre a szöveg körül).

Egy alkalmazás EM_SETRECT üzenet küldésével beállíthatja a szerkesztési vezérlő formázási téglalapjának koordinátáit. A EM_SETRECT üzenet automatikusan újrarajzozza a szerkesztési vezérlő szövegét is. Ha a formázási téglalap koordinátáit a vezérlő szövegének újraírása nélkül szeretné meghatározni, az alkalmazás elküldhet egy EM_SETRECTNP üzenetet a vezérlőnek. A formázási téglalap koordinátáinak lekéréséhez az alkalmazás elküldhet egy EM_GETRECT üzenetet a vezérlőnek. Ezek az üzenetek csak a többsoros szerkesztési vezérlőkre vonatkoznak.

Vezérlőértesítési üzenetek szerkesztése

A felhasználó a billentyűzet és az egér használatával végzi a szerkesztési kéréseket. A rendszer minden kérést egy WM_COMMAND üzenet formájában küld a szerkesztési vezérlő szülőablakának. Az üzenet tartalmazza a szerkesztésvezérlő azonosítóját a wParam paraméter alacsonyrendű szójában, az lParam paraméter szerkesztési vezérlőjének kezelőjét, valamint a wParam paraméter magasrendű szójában a felhasználó műveletének megfelelő szerkesztésvezérlési értesítési kódot.

Az alkalmazásnak meg kell vizsgálnia az egyes értesítési üzenetekhez tartozó értesítési kódokat, és megfelelően kell válaszolnia. Az alábbi táblázat felsorolja a szerkesztési vezérlő értesítési kódját és az azt létrehozó műveletet.

Értesítési kód Felhasználói művelet
EN_CHANGE A felhasználó módosította a szöveget egy szerkesztési vezérlőben. A rendszer frissíti a kijelzőt, mielőtt elküldené ezt az értesítési kódot (ellentétben EN_UPDATE).
EN_ERRSPACE A szerkesztési vezérlő nem tud elegendő memóriát lefoglalni egy adott kérés teljesítéséhez.
EN_HSCROLL A felhasználó a szerkesztési vezérlő vízszintes görgetősávjára kattintott. A rendszer a képernyő frissítése előtt elküldi ezt az értesítési kódot.
EN_KILLFOCUS A felhasználó kijelölt egy másik vezérlőt.
EN_MAXTEXT Szöveg beszúrása közben a felhasználó túllépte a szerkesztési vezérlőelemhez megadott számú karaktert. A beszúrás lerövidült. Ezt az értesítési kódot akkor is elküldi a rendszer, ha egy szerkesztési vezérlő nem rendelkezik a ES_AUTOHSCROLL stílusával, és a beszúrni kívánt karakterek száma meghaladja a szerkesztési vezérlő szélességét, vagy ha egy szerkesztési vezérlő nem rendelkezik a ES_AUTOVSCROLL stílusával, és a beszúrni kívánt sorok száma meghaladja a szerkesztési vezérlő magasságát.
EN_SETFOCUS A felhasználó kiválasztotta ezt a szerkesztési vezérlőt.
EN_UPDATE A felhasználó módosította a szöveget a szerkesztési vezérlőben, és a rendszer az új szöveg megjelenítésére készül. A rendszer a szöveg formázása után, de a megjelenítés előtt elküldi ezt az értesítési kódot, hogy az alkalmazás átméretezhesse a szerkesztési vezérlőablakot.
EN_VSCROLL A felhasználó a szerkesztési vezérlő függőleges görgetősávjára kattintott, vagy az egérmutatót a szerkesztési vezérlő fölé görgette. A rendszer a képernyő frissítése előtt elküldi ezt az értesítési kódot.
EN_SEARCHWEB A felhasználó a "Keresés a weben" helyi menübejegyzésre kattintott. A rendszer a böngésző elindítása után küldi el ezt az értesítést.

Emellett a rendszer WM_CTLCOLOREDIT üzenetet küld a szerkesztési vezérlő szülőablakának a szerkesztési vezérlő rajzolása előtt. Ez az üzenet a szerkesztő vezérlő megjelenítési környezetének (DC) leíróját és a gyerekablak leíróját tartalmazza. A szülőablak ezen fogópontok használatával módosíthatja a szerkesztési vezérlő szövegét és háttérszíneit.

Vezérlő alapértelmezett üzenetfeldolgozásának szerkesztése

Az előre definiált szerkesztési vezérlőablak-osztály ablakműmenete az összes olyan üzenet alapértelmezett feldolgozását végzi, amelyet a szerkesztésvezérlési eljárás nem dolgoz fel. Amikor a szerkesztési vezérlési eljárás HAMIS ad vissza minden üzenethez, az előre definiált ablakművelet ellenőrzi az üzeneteket, és végrehajtja az alábbi alapértelmezett műveleteket.

Üzenet Alapértelmezett művelet
EM_CANUNDO Igaz ad vissza, ha a szerkesztésvezérlési művelet visszavonható.
EM_CHARFROMPOS A megadott ponthoz legközelebbi karakter karakterindexét és sorindexét adja vissza.
EM_EMPTYUNDOBUFFER Kiüríti a visszavonási puffert, és a EM_CANUNDO üzenet által lekért visszavonási jelzőt FALSEértékre állítja. A rendszer automatikusan törli a visszavonási jelzőt, amikor a szerkesztési vezérlő WM_SETTEXT vagy EM_SETHANDLE üzenetet kap.
EM_FMTLINES A többsoros szerkesztési vezérlőben a becsomagolt vonalak végeihez lágy vonaltörési karaktereket (két kocsivissza és egy vonalcsatorna) ad hozzá vagy távolít el. Az egysoros szerkesztési vezérlők által nincs feldolgozva.
EM_GETFIRSTVISIBLELINE Egy egysoros szerkesztési vezérlőelem első látható karakterének nulla alapú indexét adja vissza, vagy a többsoros szerkesztési vezérlők legfelső látható vonalának nulla alapú indexét.
EM_GETHANDLE Egy fogantyút ad vissza, amely azonosítja a többsoros szerkesztési vezérlő szövegét tartalmazó puffert. Az egysoros szerkesztési vezérlők nem dolgozzák fel.
EM_GETLIMITTEXT Az aktuális szövegkorlátot adja vissza karakterekben.
EM_GETLINE Egysoros szerkesztési vezérlőben lévő karaktereket másol egy pufferbe, és visszaadja a másolt karakterek számát. Többsoros szerkesztési vezérlőben lekéri a szövegsort a vezérlőből, és visszaadja a másolt karakterek számát.
EM_GETLINECOUNT A szerkesztési vezérlőben lévő sorok számát adja vissza.
EM_GETMARGINS A bal és a jobb margó szélességét adja vissza.
EM_GETMODIFY Egy jelölőt ad vissza, amely jelzi, hogy a szerkesztési vezérlő tartalma módosult-e.
EM_GETPASSWORDCHAR Azt a karaktert adja vissza, amelyet a szerkesztési vezérlőelemek a ES_PASSWORD stílussal együtt használnak.
EM_GETRECT A formázási téglalap koordinátáit adja vissza egy szerkesztési vezérlőben.
EM_GETSEL Az aktuális kijelölés kezdő és befejező karakterpozícióit adja vissza a szerkesztési vezérlőben.
EM_GETTHUMB A többsoros szerkesztési vezérlő függőleges görgetősávjában lévő görgetőmező pozícióját adja vissza.
EM_GETWORDBREAKPROC Az aktuális Wordwrap függvény címét adja vissza egy szerkesztési vezérlőben.
EM_LINEFROMCHAR Egy megadott karakterindexet tartalmazó többsoros szerkesztési vezérlőben lévő sor nullaalapú számát adja vissza. Ez az üzenet a EM_LINEINDEX üzenet fordítottja. Az egysoros szerkesztési vezérlők nem dolgozzák fel.
EM_LINEINDEX Egy vonal karakterét adja vissza egy többsoros szerkesztési vezérlőben. Ez az üzenet a EM_LINEFROMCHAR üzenet fordítottja. Azt nem dolgozzák fel az egysoros szerkesztési vezérlők.
EM_LINELENGTH Egy egysoros szerkesztési vezérlőelem hosszát adja vissza karakterekben. Többsoros szerkesztési vezérlőben egy megadott sor hosszát adja vissza karakterekben.
EM_LINESCROLL Függőlegesen görgeti a szöveget egy egysoros szerkesztési vezérlőben vagy vízszintesen egy többsoros szerkesztési vezérlőben (ha a vezérlőelem ES_LEFT stílussal rendelkezik). Az lParam paraméter az aktuális sortól kezdődően meghatározza a függőlegesen görgetni kívánt vonalak számát. A wParam paraméter határozza meg a vízszintesen görgethető karakterek számát az aktuális karaktertől kezdve.
EM_POSFROMCHAR A megadott karakter ügyfélkoordinátáit adja vissza.
EM_REPLACESEL Lecseréli az aktuális kijelölést egy alkalmazás által megadott puffer szövegével, értesítési kódokat küld a szülőablaknak: EN_UPDATE és EN_CHANGE, majd frissíti a visszavonási puffert.
EM_SCROLL Függőlegesen görgeti a szöveget egy többsoros szerkesztési vezérlőben. Ez az üzenet egyenértékű azzal, ha WM_VSCROLL üzenetet küld a szerkesztési vezérlőnek. Egysoros szerkesztési vezérlők által nem kerül feldolgozásra.
EM_SCROLLCARET Egy szerkesztő mezőben görgeti a kurzort látható helyzetbe.
EM_SETFONT Nem támogatott.
EM_SETHANDLE Beállít egy fogópontot a szövegpufferként használt memóriára, kiüríti a visszavonási puffert, nullára állítja a görgetési pozíciókat, és újrarajzolhatja az ablakot.
EM_SETLIMITTEXT Megadja, hogy a felhasználó hány karaktert írhat be a szerkesztési vezérlőbe. Egysoros szerkesztési vezérlők esetén ez az érték 0x7FFFFFFE vagy a wParam paraméter értéke, amelyik kisebb. Többsoros szerkesztési vezérlők esetén ez az érték vagy 1, vagy a wParam paraméter értéke, attól függően, hogy melyik kisebb.
EM_SETMARGINS Beállítja a bal és a jobb margó szélességét, és újrarajzozza a szerkesztési vezérlőt, hogy tükrözze az új margókat.
EM_SETMODIFY Beállítja vagy törli a módosításjelzőt annak jelzésére, hogy a szerkesztési vezérlő módosult-e.
EM_SETPASSWORDCHAR Meghatározza azt a karaktert, amelyet a vezérlők a ES_PASSWORD stílussal együtt használnak a szerkesztés során.
EM_SETREADONLY Beállítja vagy eltávolítja az olvasásvédett módot (ES_READONLY) egy szerkesztési vezérlőben.
EM_SETRECT Beállítja a formázási téglalapot a többsoros szerkesztési kontrollhoz, és újrarajzolja az ablakot. Az egysoros szerkesztési vezérlőkkel nem történik meg a feldolgozás.
EM_SETRECTNP Beállítja a formázási téglalapot a többsoros szerkesztési vezérlőhöz, de nem módosítja újra az ablakot. Az egysoros szerkesztési vezérlők nem dolgozzák fel.
EM_SETSEL Kijelöl egy karaktertartományt a szerkesztési vezérlőben a kijelölendő kezdő és záró pozíciók beállításával.
EM_SETTABSTOPS Tabulátorpontok beállítása a többsoros szerkesztőben. Nem az egysoros szerkesztési vezérlők dolgozzák fel.
EM_SETWORDBREAKPROC Az alapértelmezett Wordwrap-függvényt egy alkalmazás által definiált Wordwrap-függvényre cseréli.
EM_UNDO Eltávolítja az imént beszúrt vagy törölt karaktereket, és a kijelölést a beszúrt szövegre állítja. Szükség esetén elküldi a EN_UPDATE és EN_CHANGE értesítési kódokat a szülőablakba.
WM_CHAR Egy karaktert ír az egysoros szerkesztési vezérlőbe, és elküldi a EN_UPDATE és EN_CHANGE értesítési kódokat a szülőablakba. Karaktert ír a többsoros szerkesztési vezérlőbe. Kezeli a szabványos függvények gyorsítókulcsait, például a másoláshoz a CTRL+C billentyűkombinációt, a beillesztéshez pedig a CTRL+V billentyűkombinációt. A többsoros szerkesztési vezérlőkben a TAB és a CTRL+TAB billentyűkombinációkat is feldolgozva lépkedhet a párbeszédpanel vezérlői között, és tabulátorokat szúrhat be többsoros szerkesztési vezérlőkbe. A MessageBeep függvényt használ illegális karakterek esetén.
WM_CLEAR Törli az aktuális kijelölést (ha van ilyen) egy szerkesztési vezérlőben. Ha nincs aktuális kijelölés, törli a kurzortól jobbra lévő karaktert. Ha a felhasználó lenyomja a SHIFT billentyűt, az kivágja a kijelölést a vágólapra, vagy törli a karaktert a simítótól balra, ha nincs kijelölés. Ha a felhasználó lenyomja a CTRL billentyűt, az törli a kijelölést, vagy ha nincs kijelölés, a sor végéig törli.
WM_COPY A szöveget a vágólapra másolja, kivéve, ha a stílus ES_PASSWORD; ebben az esetben az üzenet nullát ad vissza.
WM_CREATE Létrehozza a szerkesztési vezérlőt, és értesíti a szülőablakot IGAZ siker esetén vagy 1 sikertelenség esetén.
WM_CUT A kijelölést a vágólapra vágja, vagy törli a kurzortól balra lévő karaktert, ha nincs kijelölés.
WM_ENABLE Az egysoros szerkesztési mező téglalapját szürkére újrarajzolja. Egysoros és többsoros szerkesztési vezérlők engedélyezett állapotát adja vissza.
WM_ERASEBKGND Kitölti a többsoros szerkesztési vezérlőablakot a szerkesztési vezérlő aktuális színével.
WM_GETDLGCODE A következő értékeket adja vissza: DLGC_WANTCHARS, DLGC_HASSETSEL és DLGC_WANTARROWS. A többsoros szerkesztési vezérlőkben visszaadja a DLGC_WANTALLKEYS értéket is. Ha a felhasználó lenyomja az ALT+BACKSPACE billentyűkombinációt, az is visszaadja a DLGC_WANTMESSAGE értéket.
WM_GETFONT A vezérlő által használt betűtípus fogantyúját adja vissza, vagy NULL, ha a vezérlő a rendszer betűtípusát használja.
WM_GETTEXT Másolja a megadott számú karaktert egy pufferbe, és visszaadja a másolt karakterek számát.
WM_GETTEXTLENGTH A szerkesztési vezérlőben lévő szöveg hosszát adja vissza karakterekben. A hossz nem tartalmazza a null végződésű karaktert.
WM_HSCROLL A többsoros szerkesztési vezérlő szövegét vízszintesen görgeti, és kezeli a görgetődoboz mozgását.
WM_KEYDOWN Elvégzi a virtuális kulcskódok szabványos feldolgozását.
WM_KILLFOCUS Eltávolítja a szerkesztésvezérlő ablakának billentyűzetfókuszát, megsemmisíti a simítót, elrejti az aktuális kijelölést, és értesíti a szülőablakot, hogy a szerkesztési vezérlő elvesztette a fókuszt.
WM_LBUTTONDBLCLK Törli az aktuális kijelölést, és kijelöli a kurzor alatti szót. Ha a SHIFT billentyű lenyomva van, a kurzor alatti szóra kiterjeszti a kijelölést.
WM_LBUTTONDOWN Módosítja az aktuális beszúrási pontot. Ha a SHIFT billentyű lenyomva van, a kijelölést kiterjeszti a kurzor pozíciójára. A többsoros szerkesztési vezérlőkben is beállíthatja, hogy az időzítő automatikusan görgessen, amikor a felhasználó lenyomja az egérgombot a többsoros szerkesztés vezérlőablakán kívül.
WM_LBUTTONUP Felszabadítja az egérrögzítést, és beállítja a szöveg beszúrási pontját az egysoros szerkesztési vezérlőben. Többsoros szerkesztési vezérlőben az WM_LBUTTONDOWN üzenetben beállított időzítőt is leállítja.
WM_MOUSEMOVE A jelenlegi kijelölést módosítja az egysoros szerkesztési mezőben, ha az egérgomb le van nyomva. Többsoros szerkesztési vezérlőkben is beállíthatja, hogy az időzítő automatikusan görgessen, ha a felhasználó lenyomja az egérgombot a többsoros szerkesztési vezérlőablakon kívül.
WM_NCCREATE Mutató az ablak CREATESTRUCT szerkezetére. Ez az üzenet az ablak első létrehozásakor WM_CREATE üzenetbe kerül.
WM_NCDESTROY Felszabadítja a szerkesztési vezérlőablakhoz társított összes memóriát, beleértve a szövegpuffert, a visszavonási puffert, a tabulátorpuffert és az ecset kiemelését.
WM_PAINT Törli a hátteret, kitölti az ablakot a szerkesztési vezérlőablak aktuális színével, megrajzolja a szegélyt (ha van ilyen), beállítja a betűtípust, és bármilyen szöveget rajzol, és megjeleníti a szöveg beszúrási elemét.
WM_PASTE Szöveget illeszt be a vágólapról a szerkesztőablakba a kurzor pozíciójánál.
WM_SETFOCUS Beállítja a szövegszerkesztő vezérlő ablakának billentyűzetfókuszát (ha rejtett volt, megjeleníti az aktuális kijelölést, és létrehozza a kurzort).
WM_SETFONT Beállítja a betűtípust, és igény szerint újrarajzozza a szerkesztési vezérlőt.
WM_SETTEXT Szöveget másol az egysoros szerkesztési vezérlőbe, értesíti a szülőablakot, ha nincs elegendő memória, kiüríti a visszavonási puffert, és elküldi a EN_UPDATE és EN_CHANGE értesítési kódokat a szülőablakba. Többsoros szerkesztési vezérlőkben a sorok újracsomagolása (ha szükséges) és a görgetési pozíciók beállítása is megtörténik.
WM_SIZE Beállítja a szerkesztési vezérlőablak méretét, biztosítva, hogy a méret megfeleljen a karakter magasságának és szélességének.
WM_SYSCHAR Igaz ad vissza, ha a felhasználó lenyomja az ALT+BACKSPACE billentyűkombinációt; egyéb esetben nem hajt végre semmilyen műveletet.
WM_SYSKEYDOWN Visszavonja az utolsó műveletet, ha a felhasználó lenyomja az ALT+BACKSPACE billentyűkombinációt; egyéb esetben nem hajt végre semmilyen műveletet.
WM_TIMER Görgeti a szöveget a szerkesztési vezérlőablakban, ha a felhasználó lenyomja az egérgombot a többsoros szerkesztési vezérlőablakon kívül.
WM_UNDO Eltávolítja az imént beszúrt vagy törölt karaktereket, és a kijelölést a beszúrt szövegre állítja. Szükség esetén elküldi a EN_UPDATE és EN_CHANGE értesítési kódokat a szülőablakba.
WM_VSCROLL Függőlegesen görget egy többsoros szerkesztési vezérlőt, és kezeli a görgetődoboz mozgását. Az egysoros szerkesztési vezérlők nem képesek feldolgozni.

Az előre definiált szerkesztési vezérlőablak-eljárás minden más üzenetet továbbít a DefWindowProc függvénynek az alapértelmezett feldolgozáshoz.