Informationen zu Steuerelementen bearbeiten
Ein Bearbeitungssteuerelement ist ein rechteckiges Steuerelementfenster, das in der Regel in einem Dialogfeld verwendet wird, um dem Benutzer die Eingabe und Bearbeitung von Text zu ermöglichen.
Bearbeitungssteuerelemente unterstützen sowohl den Unicode-Zeichensatz, in dem Zeichen aus zwei Bytes bestehen, als auch ANSI-Zeichensätze, in denen Zeichen ein Byte sind. Weitere Informationen zu Unicode- und ANSI-Zeichensätzen finden Sie unter Unicode und Zeichensätze.
Umfangreiche Bearbeitungssteuerelemente unterstützen viele Features, die in Systembearbeitungssteuerelementen nicht verfügbar sind. Weitere Informationen finden Sie unter Rich Edit Controls.
Die folgenden Themen werden in dieser Übersicht erläutert.
- Bearbeiten von Steuerelementfeatures
- Bearbeiten von Steuerelementtypen und -formatvorlagen
- Der Textpuffer
- Ändern des Formatierungsrechtecks
- Bearbeiten von Steuerelementbenachrichtigungen
- Bearbeiten der Standardnachrichtenverarbeitung des Steuerelements
Bearbeiten von Steuerelementfeatures
Wenn es ausgewählt ist, zeigt ein Bearbeitungssteuerelement ein blinkendes Caretzeichen an, das die Einfügemarke angibt. Der Benutzer kann dann Text eingeben, die Einfügemarke verschieben oder Text auswählen, der mit der Tastatur oder der Maus bearbeitet werden soll. Ein Bearbeitungssteuerelement sendet Benachrichtigungscodes in Form von WM_COMMAND Nachrichten an das übergeordnete Fenster. Weitere Informationen zu Nachrichten aus einem Bearbeitungssteuerelement finden Sie unter Bearbeiten von Steuerelementbenachrichtigungen. Ein übergeordnetes Fenster kann Nachrichten an ein Bearbeitungssteuerelement in einem Dialogfeld senden, indem die SendDlgItemMessage-Funktion aufgerufen wird . Einige Nachrichten können auch mithilfe vordefinierter Makros gesendet werden.
Das System stellt sowohl einzeilige Bearbeitungssteuerelemente als auch Steuerelemente für die mehrzeilige Bearbeitung bereit. Bearbeitungssteuerelemente gehören zur EDIT-Fensterklasse.
Ein Kombinationsfeld ist ein Steuerelement, das einen Großteil der Funktionen eines Bearbeitungssteuerelements mit einem Listenfeld kombiniert. In einem Kombinationsfeld zeigt das Bearbeitungssteuerelement die aktuelle Auswahl an, und das Listenfeld enthält Optionen, die ein Benutzer auswählen kann. Weitere Informationen zu Kombinationsfeldern finden Sie unter Kombinationsfelder.
Viele Entwickler verwenden die Dialogfelder, die in der allgemeinen Dialogfeldbibliothek (Comdlg32.dll) bereitgestellt werden, um Aufgaben auszuführen, die andernfalls möglicherweise benutzerdefinierte Bearbeitungssteuerelemente erfordern. Informationen zu allgemeinen Dialogfeldern finden Sie unter Allgemeine Dialogfelderbibliothek.
Bearbeiten von Steuerelementtypen und -formatvorlagen
Ein einzelnes Bearbeitungssteuerelement kann mehrere Stile gleichzeitig aufweisen. Die meisten Entwickler verwenden Tools zum Entwickeln von Dialogfeldern und müssen daher möglicherweise nicht explizit Bearbeitungssteuerelementstile angeben. Wenn eine Anwendung jedoch mithilfe der CreateWindow - oder CreateWindowEx-Funktion ein Bearbeitungssteuerelement erstellt, muss sie diese Bearbeitungssteuerelementstile angeben. Eine Tabelle mit Bearbeitungssteuerelementstilen finden Sie unter Bearbeiten von Steuerelementstilen.
Jedes Bearbeitungssteuerelement gibt eine Kombination von Stilwerten an, die das Aussehen und die Features des Bearbeitungssteuerelements definieren. Die Stilwerte können die Darstellung eines einzeiligen oder mehrzeiligen Bearbeitungssteuerelements festlegen. den Text im Steuerelement ausrichten; und bestimmen, wie und sogar ob Text im Bearbeitungssteuerelement angezeigt wird.
Mehrzeilenformat
Es gibt zwei Linienstile für Bearbeitungssteuerelemente. Der Standardwert ist ein einzeiliges Bearbeitungssteuerelement. Eine Anwendung kann auch mithilfe des ES_MULTILINE-Stils ein mehrzeilesiges Bearbeitungssteuerelement erstellen.
Bildlaufformatvorlagen
Die ES_AUTOHSCROLL Stil weist das Bearbeitungssteuerelement an, den Text bei Bedarf horizontal zu scrollen, wenn der Benutzer Text eingibt. Wenn diese Formatvorlage nicht angegeben ist, kann das Bearbeitungssteuerelement keinen horizontalen Bildlauf durchführen. Für einzeilige Bearbeitungssteuerelemente ohne ES_AUTOHSCROLL werden nur die Zeichen akzeptiert, die den sichtbaren Bereich des Steuerelements ausfüllen. Bei mehrzeiligen Bearbeitungssteuerelementen ohne ES_AUTOHSCROLL wird der Text in die nächste Zeile umgebrochen, wenn der Benutzer mehr Text eingibt, als in einer einzelnen Zeile angezeigt werden kann. Wenn ES_AUTOHSCROLL für ein mehrzeiliges Bearbeitungssteuerelement angegeben ist, scrollt das Steuerelement horizontal, wenn der Benutzer mehr Text eingibt, als in einer einzelnen Zeile angezeigt werden kann. Der Text wird nicht umgebrochen.
ES_AUTOHSCROLL wird automatisch auf ein linksbündiges, mehrteiliges Bearbeitungssteuerelement angewendet, das einen WS_HSCROLL Stil aufweist. Anders ausgedrückt: Jedes linksbündige, mehrlinienfähige Bearbeitungssteuerelement, das über eine horizontale Bildlaufleiste verfügt, führt automatisch einen horizontalen Bildlauf durch.
ES_AUTOHSCROLL wird von einem mehrlineigen Bearbeitungssteuerelement ignoriert, das nicht linksbündig ist. Zentrierte und rechtsbündige Mehrzeilenbearbeitungssteuerelemente können nicht horizontal scrollen
Die ES_AUTOVSCROLL-Formatvorlage weist das Bearbeitungssteuerelement an, den Text vertikal zu scrollen, wenn der Benutzer mehr Text eingibt, als im Bearbeitungssteuerelement angezeigt werden kann. Diese Formatvorlage gilt nur für Mehrzeilenbearbeitungssteuerelemente. Wenn diese Formatvorlage für ein mehrlineiges Bearbeitungssteuerelement nicht angegeben ist, akzeptiert das Bearbeitungssteuerelement die Eingabe nicht, wenn mehr Text eingegeben wird, als angezeigt werden kann.
Ausrichtungsstile
Es gibt drei Formatvorlagen, die dazu führen, dass das System den Text in einem Bearbeitungssteuerelement ausrichtet. Die Formatvorlagen ES_LEFT, ES_CENTER und ES_RIGHT bestimmen, ob Text links, zentriert oder rechts ausgerichtet ist. Rechtsbündige und zentrierte mehrzeilenfähige Bearbeitungssteuerelemente können nicht die ES_AUTOHSCROLL Formatvorlage aufweisen. Das heißt, sie können nicht horizontal scrollen.
Obwohl es nicht möglich ist, den Ausrichtungsstil eines Bearbeitungssteuerelements dynamisch zu ändern, können die folgenden Techniken verwendet werden, um diese Einschränkung zu umgehen:
- Erstellen Sie mehrere Bearbeitungssteuerelemente, eines für jedes Format, das die Anwendung benötigt, und wechseln Sie bei Bedarf zwischen ihnen.
- Erstellen Sie ein neues Bearbeitungssteuerelement mit dem gewünschten Stil, wenn es benötigt wird, und wechseln Sie zum neuen Steuerelement.
Text- und Eingabeformatvorlagen
Eine Anwendung kann Stile verwenden, um anzugeben, wie das Bearbeitungssteuerelement Text anzeigt. Die ES_LOWERCASE Formatvorlage bewirkt, dass alle Großbuchstaben, die in das Bearbeitungssteuerelement eingegeben werden, in Kleinbuchstaben konvertiert werden. Ebenso führen die ES_UPPERCASE Formatvorlage dazu, dass alle Kleinbuchstaben in Großbuchstaben konvertiert werden.
Weitere Informationen zu Zeichensätzen finden Sie unter Unicode und Zeichensätze.
Die ES_NUMBER Formatvorlage beschränkt die Eingabe auf Ziffern nur im Bearbeitungssteuerelement.
Das ES_READONLY-Format ändert das Bearbeitungssteuerelement in schreibgeschützte status.
Die ES_PASSWORD-Formatvorlage zeigt alle Zeichen in einem einzeiligen Bearbeitungssteuerelement als Sternchen an. Eine Anwendung kann ein anderes Zeichen definieren, das angezeigt werden soll, indem die meldung EM_SETPASSWORDCHAR verwendet wird, wie weiter unten in diesem Thema beschrieben.
Wenn ein Bearbeitungssteuerelement aus Comctl32.dll Version 6 stammt, ist ein schwarzer Kreis das Standardzeichen für die ES_PASSWORD Formatvorlage. In Bearbeitungssteuerelementen aus früheren Versionen der allgemeinen Steuerelemente ist das Standardzeichen ein Sternchen.
Die ES_OEMCONVERT Formatvorlage bewirkt, dass Text, der in das Bearbeitungssteuerelement eingegeben wird, aus den Windows-Zeichen konvertiert wird, die auf den OEM-Zeichensatz und dann wieder in den Windows-Zeichensatz festgelegt sind. Dadurch wird eine ordnungsgemäße Zeichenkonvertierung sichergestellt, wenn die Anwendung die CharToOem-Funktion aufruft, um eine Windows-Zeichenfolge im Bearbeitungssteuerelement in OEM-Zeichen zu konvertieren. ES_OEMCONVERT ist besonders nützlich für Bearbeitungssteuerelemente, die Dateinamen enthalten, die in Dateisystemen verwendet werden, die Unicode nicht unterstützen.
Bei einem mehrzeilen Bearbeitungssteuerelement in einem Dialogfeld bewirkt die ES_WANTRETURN Formatvorlage, dass das Steuerelement einen Wagenrücklauf einfügt, wenn der Benutzer während der Texteingabe die EINGABETASTE drückt. Wenn diese Formatvorlage nicht angegeben ist, hat das Drücken der EINGABETASTE die gleiche Auswirkung wie das Drücken der Standard-Drucktaste im Dialogfeld. Ohne ES_WANTRETURN muss der Benutzer STRG+EINGABETASTE drücken, um einen Wagenrücklauf einzufügen. Informationen zu Wordwrap und Zeilenumbrüchen finden Sie unter Behandeln von Wordwrap und Zeilenumbrüchen.
Visuelle Stile
Die ES_NOHIDESEL Formatvorlage bewirkt, dass der markierte Text hervorgehoben bleibt, wenn das Bearbeitungssteuerelement nicht den Fokus hat. Ohne diese Formatvorlage verliert der markierte Text die Hervorhebung, wenn das Steuerelement den Fokus verliert.
Standardmäßig weist ein Bearbeitungssteuerelement keinen Rahmen auf. Um sie zu erhalten, kann eine Anwendung den WS_BORDER Fensterstil verwenden.
Um visuelle Stile mit Bearbeitungssteuerelementen zu verwenden, muss eine Anwendung ein Manifest enthalten und Am Anfang des Programms InitCommonControls aufrufen. Informationen zu visuellen Stilen finden Sie unter Visuelle Stile. Informationen zu Manifesten finden Sie unter Aktivieren von visuellen Formatvorlagen.
Der Textpuffer
Das System speichert Bearbeitungssteuerelementtext in einem Puffer und kopiert ihn bei Bedarf in das Steuerelement.
In den folgenden Themen wird erläutert, wie das System den Puffer zuordnet und initialisiert und seine Merkmale ändert:
- Zuweisen eines Textpuffers
- Initialisieren eines Textpuffers
- Festlegen eines schreibgeschützten Textpuffers
Zuweisen eines Textpuffers
Wenn das System ein Bearbeitungssteuerelement erstellt, erstellt es automatisch einen Textpuffer, legt die anfangse Größe fest und erhöht die Größe nach Bedarf. Die Größe kann bis zu einem vordefinierten Grenzwert von ca. 32 KB für einzelzeilige Bearbeitungssteuerelemente betragen. Da sich dieses Limit ändern kann, wird es als soft limit bezeichnet. Eine Anwendung kann einen harten Grenzwert auf die Puffergröße festlegen, indem eine EM_SETLIMITTEXT Nachricht an das Bearbeitungssteuerelement gesendet wird. Wenn der Puffer beide Grenzwerte überschreitet, sendet das System der Anwendung einen EN_ERRSPACE Benachrichtigungscode. Eine Anwendung kann den aktuellen Textgrenzwert abrufen, indem sie eine EM_GETLIMITTEXT Nachricht sendet.
Das System erstellt in der Regel einen Bearbeitungssteuerungspuffer in einem Dialogfeld, wobei Arbeitsspeicher außerhalb des Datensegments der Anwendung verwendet wird. Eine Anwendung kann dieses Standardzuordnungsverhalten unterdrücken und den Puffer über den lokalen Heap erstellen, indem sie beim Erstellen des Bearbeitungssteuerelements die DS_LOCALEDIT Formatvorlage (siehe "Dialogfeldvorlagenstile" in Infodialogfelder) verwendet. Eine Anwendung, die den DS_LOCALEDIT Stil verwendet, ist für alle Pufferzuordnungen verantwortlich. Um die anfängliche Zuordnung vorzunehmen, kann eine Anwendung die LocalAlloc-Funktion aufrufen und das zurückgegebene Pufferhandle an das Bearbeitungssteuerelement übergeben, indem sie eine EM_SETHANDLE-Nachricht sendet. Um nachfolgende Zuordnungen vorzunehmen (z. B. als Reaktion auf einen EN_ERRSPACE Benachrichtigungscode), sollte eine Anwendung den aktuellen Pufferinhalt (falls erforderlich) speichern und wie folgt einen neuen Puffer abrufen.
Führen Sie die folgenden Schritte aus, um den aktuellen Puffer zu speichern und einen neuen zu erhalten.
- Rufen Sie das Handle des derzeit für den Text zugewiesenen Speichers in einem mehrlinelinen Bearbeitungssteuerelement ab, indem Sie dem Steuerelement eine EM_GETHANDLE Nachricht senden.
- Geben Sie den Puffer frei, indem Sie die LocalFree-Funktion aufrufen.
- Rufen Sie localAlloc auf, um einen neuen Puffer (und Pufferhandle) abzurufen.
- Weisen Sie dem System das Pufferhandle zu, indem Sie dem Steuerelement eine EM_SETHANDLE Nachricht senden.
Die EM_SETHANDLE - und EM_GETHANDLE-Nachrichten gelten nur für Mehrzeilenbearbeitungssteuerelemente.
Eine Anwendung, die das Standardzuordnungsverhalten verwendet (d. h. nicht die DS_LOCALEDIT-Formatvorlage verwendet (siehe "Dialogfeldvorlagenstile" in Infodialogfelder)) darf keine EM_SETHANDLE - und EM_GETHANDLE-Nachrichten an das Bearbeitungssteuerelement senden.
Das Senden einer EM_SETHANDLE Nachricht hat mehrere Nebenwirkungen: Es löscht das Undo-Flag (wodurch die EM_CANUNDO Nachricht 0 zurückgibt), das Änderungsflag löscht (die EM_GETMODIFY Nachricht gibt null zurück), und das Bearbeitungssteuerelementfenster wird neu markiert.
Initialisieren eines Textpuffers
Eine Anwendung kann den Textpuffer eines Bearbeitungssteuerelements durch Aufrufen der SetDlgItemText-Funktion initialisieren oder neu initialisieren. Eine Anwendung kann den Inhalt eines Textpuffers abrufen, indem die GetDlgItemText-Funktion aufgerufen wird.
Erstellen eines schreibgeschützten Textpuffers
Für jedes Bearbeitungssteuerelement verwaltet das System ein schreibgeschütztes Flag, das angibt, ob der Text des Steuerelements Lese-/Schreibzugriff (Standard) oder schreibgeschützt ist. Eine Anwendung kann das Lese-/Schreibflag oder das schreibgeschützte Flag für den Text festlegen, indem dem Steuerelement eine EM_SETREADONLY Nachricht gesendet wird. Um zu bestimmen, ob ein Bearbeitungssteuerelement schreibgeschützt ist, kann eine Anwendung die GetWindowLong-Funktion mithilfe der GWL_STYLE-Konstante aufrufen. Die EM_SETREADONLY Nachricht gilt sowohl für einzeilige als auch für mehrzeilige Bearbeitungssteuerelemente.
Ändern des Formatierungsrechtecks
Die Sichtbarkeit des Texts eines Bearbeitungssteuerelements wird durch die Dimensionen des Fensterrechtecks und des Formatierungsrechtecks bestimmt. Das Fensterrechteck ist der Clientbereich des Fensters, das das Bearbeitungssteuerelement enthält. Das Formatierungsrechteck ist ein vom System verwaltetes Konstrukt zum Formatieren des im Fensterrechteck angezeigten Texts. Wenn ein Bearbeitungssteuerelement zum ersten Mal angezeigt wird, sind die beiden Rechtecke auf dem Bildschirm identisch. Eine Anwendung kann das Formatierungsrechteck größer als das Fensterrechteck (wodurch die Sichtbarkeit des Texts des Bearbeitungssteuerelements eingeschränkt wird) oder kleiner als das Fensterrechteck (wodurch zusätzlicher Weißraum um den Text herum erzeugt wird).
Eine Anwendung kann die Koordinaten des Formatierungsrechtecks eines Bearbeitungssteuerelements festlegen, indem sie ihr eine EM_SETRECT Nachricht sendet. Die EM_SETRECT Nachricht zeichnet auch den Text des Bearbeitungssteuerelements automatisch neu. Um die Koordinaten des Formatierungsrechtecks festzulegen, ohne den Text des Steuerelements neu zu zeichnen, kann eine Anwendung dem Steuerelement eine EM_SETRECTNP Nachricht senden. Um die Koordinaten des Formatierungsrechtecks abzurufen, kann eine Anwendung dem Steuerelement eine EM_GETRECT Nachricht senden. Diese Meldungen gelten nur für Mehrzeilenbearbeitungssteuerelemente.
Bearbeiten von Steuerelementbenachrichtigungsmeldungen
Der Benutzer stellt Bearbeitungsanforderungen mithilfe von Tastatur und Maus. Das System sendet jede Anforderung in Form einer WM_COMMAND Nachricht an das übergeordnete Fenster des Bearbeitungssteuerelements. Die Nachricht enthält den Bezeichner des Steuerelements bearbeiten im Wort mit niedriger Reihenfolge des wParam-Parameters , das Handle des Steuerelements bearbeiten im lParam-Parameter und einen Benachrichtigungscode zum Bearbeiten von Steuerelementen, der der Aktion des Benutzers im Wort mit hoher Reihenfolge des wParam-Parameters entspricht.
Eine Anwendung sollte die Benachrichtigungscodes untersuchen, die jeder Benachrichtigungsnachricht beiliegen, und entsprechend reagieren. In der folgenden Tabelle sind jeder Code zum Bearbeiten von Steuerelementbenachrichtigungen und die Aktion aufgeführt, von der er generiert wird.
Benachrichtigungscode | Benutzeraktion |
---|---|
EN_CHANGE | Der Benutzer hat Text in einem Bearbeitungssteuerelement geändert. Das System aktualisiert die Anzeige vor dem Senden dieses Benachrichtigungscodes (im Gegensatz zu EN_UPDATE). |
EN_ERRSPACE | Das Bearbeitungssteuerelement kann nicht genügend Arbeitsspeicher zuweisen, um eine bestimmte Anforderung zu erfüllen. |
EN_HSCROLL | Der Benutzer hat auf die horizontale Bildlaufleiste des Bearbeitungssteuerelements geklickt. Das System sendet diesen Benachrichtigungscode vor dem Aktualisieren des Bildschirms. |
EN_KILLFOCUS | Der Benutzer hat ein anderes Steuerelement ausgewählt. |
EN_MAXTEXT | Beim Einfügen von Text hat der Benutzer die angegebene Anzahl von Zeichen für das Bearbeitungssteuerelement überschritten. Das Einfügen wurde abgeschnitten. Dieser Benachrichtigungscode wird auch gesendet, wenn ein Bearbeitungssteuerelement nicht über das ES_AUTOHSCROLL Format verfügt und die Anzahl der einzufügenden Zeichen die Breite des Bearbeitungssteuerelements überschreitet oder wenn ein Bearbeitungssteuerelement nicht über die ES_AUTOVSCROLL Formatvorlage verfügt und die Gesamtanzahl der einzufügenden Zeilen die Höhe des Bearbeitungssteuerelements überschreitet. |
EN_SETFOCUS | Der Benutzer hat dieses Bearbeitungssteuerelement ausgewählt. |
EN_UPDATE | Der Benutzer hat den Text im Bearbeitungssteuerelement geändert, und das System wird den neuen Text anzeigen. Das System sendet diesen Benachrichtigungscode nach dem Formatieren des Texts, aber vor der Anzeige, sodass die Anwendung die Größe des Bearbeitungssteuerelementfensters ändern kann. |
EN_VSCROLL | Der Benutzer hat auf die vertikale Bildlaufleiste des Bearbeitungssteuerelements geklickt oder mit dem Mausrad über das Bearbeitungssteuerelement gescrollt. Das System sendet diesen Benachrichtigungscode vor dem Aktualisieren des Bildschirms. |
EN_SEARCHWEB | Der Benutzer hat auf den Kontextmenüeintrag "Web durchsuchen" geklickt. Das System sendet diese Benachrichtigung, nachdem es den Browser gestartet hat. |
Darüber hinaus sendet das System eine WM_CTLCOLOREDIT Nachricht an das übergeordnete Fenster eines Bearbeitungssteuerelements, bevor das Bearbeitungssteuerelement gezeichnet wird. Diese Meldung enthält ein Handle des Anzeigekontexts (DC) des Bearbeitungssteuerelements und ein Handle des untergeordneten Fensters. Das übergeordnete Fenster kann diese Handles verwenden, um die Text- und Hintergrundfarben des Bearbeitungssteuerelements zu ändern.
Bearbeiten der Standardnachrichtenverarbeitung von Steuerelementen
Die Fensterprozedur für die vordefinierte Klasse des Steuerelementfensters zum Bearbeiten führt die Standardverarbeitung für alle Nachrichten durch, die von der Bearbeitungssteuerungsprozedur nicht verarbeitet werden. Wenn die Bearbeitungssteuerungsprozedur false für jede Nachricht zurückgibt, überprüft die vordefinierte Fensterprozedur die Nachrichten und führt die folgenden Standardaktionen aus.
Nachricht | Standardaktion |
---|---|
EM_CANUNDO | Gibt TRUE zurück, wenn der Bearbeitungssteuerungsvorgang rückgängig werden kann. |
EM_CHARFROMPOS | Gibt den Zeichenindex und den Zeilenindex des Zeichens zurück, das dem angegebenen Punkt am nächsten liegt. |
EM_EMPTYUNDOBUFFER | Leert den Rückgängigpuffer und legt das vom EM_CANUNDO Nachricht abgerufene Undo-Flag auf FALSE fest. Das System löscht das Undo-Flag automatisch, wenn das Bearbeitungssteuerelement eine WM_SETTEXT- oder EM_SETHANDLE-Nachricht empfängt. |
EM_FMTLINES | Fügt in einem mehrzeiligen Bearbeitungssteuerelement weiche Zeilenumbruchzeichen (zwei Wagenrückläufe und einen Zeilenvorschub) an den Enden umschlossener Zeilen hinzu oder entfernt sie. Sie wird nicht von einzeiligen Bearbeitungssteuerelementen verarbeitet. |
EM_GETFIRSTVISIBLELINE | Gibt den nullbasierten Index des ersten sichtbaren Zeichens in einem einzeiligen Bearbeitungssteuerelement oder den nullbasierten Index der obersten sichtbaren Zeile in einem mehrzeiligen Bearbeitungssteuerelement zurück. |
EM_GETHANDLE | Gibt einen Handle zurück, der den Puffer mit dem Text des Mehrzeilenbearbeitungssteuerelements identifiziert. Sie wird nicht von einzeiligen Bearbeitungssteuerelementen verarbeitet. |
EM_GETLIMITTEXT | Gibt den aktuellen Textgrenzwert in Zeichen zurück. |
EM_GETLINE | Kopiert Zeichen in einem einzeiligen Bearbeitungssteuerelement in einen Puffer und gibt die Anzahl der kopierten Zeichen zurück. Ruft in einem mehrzeiligen Bearbeitungssteuerelement eine Textzeile aus dem Steuerelement ab und gibt die Anzahl der kopierten Zeichen zurück. |
EM_GETLINECOUNT | Gibt die Anzahl der Zeilen im Bearbeitungssteuerelement zurück. |
EM_GETMARGINS | Gibt die Breite des linken und rechten Rands zurück. |
EM_GETMODIFY | Gibt ein Flag zurück, das angibt, ob der Inhalt eines Bearbeitungssteuerelements geändert wurde. |
EM_GETPASSWORDCHAR | Gibt das Zeichen zurück, das bearbeitungssteuerelemente in Verbindung mit der ES_PASSWORD-Format verwenden. |
EM_GETRECT | Gibt die Koordinaten des Formatierungsrechtecks in einem Bearbeitungssteuerelement zurück. |
EM_GETSEL | Gibt die Anfangs- und Endzeichenpositionen der aktuellen Auswahl im Bearbeitungssteuerelement zurück. |
EM_GETTHUMB | Gibt die Position des Bildlauffelds in der vertikalen Bildlaufleiste in einem mehrlineigen Bearbeitungssteuerelement zurück. |
EM_GETWORDBREAKPROC | Gibt die Adresse der aktuellen Wordwrap-Funktion in einem Bearbeitungssteuerelement zurück. |
EM_LINEFROMCHAR | Gibt die nullbasierte Anzahl der Zeile in einem mehrzeiligen Bearbeitungssteuerelement zurück, das einen angegebenen Zeichenindex enthält. Diese Nachricht ist die Umgekehrte der EM_LINEINDEX Nachricht. Sie wird nicht von einzeiligen Bearbeitungssteuerelementen verarbeitet. |
EM_LINEINDEX | Gibt das Zeichen einer Linie in einem mehrzeiligen Bearbeitungssteuerelement zurück. Diese Nachricht ist die Umgekehrte der EM_LINEFROMCHAR Nachricht. Sie wird nicht von einzeiligen Bearbeitungssteuerelementen verarbeitet. |
EM_LINELENGTH | Gibt die Länge eines einzeiligen Bearbeitungssteuerelements in Zeichen zurück. Gibt in einem mehrzeiligen Bearbeitungssteuerelement die Länge einer angegebenen Zeile in Zeichen zurück. |
EM_LINESCROLL | Scrollt den Text vertikal in einem einzeiligen Bearbeitungssteuerelement oder horizontal in einem mehrzeiligen Bearbeitungssteuerelement (wenn das Steuerelement über die ES_LEFT Formatvorlage verfügt). Der lParam-Parameter gibt die Anzahl der Zeilen an, die vertikal zu scrollen sind, beginnend mit der aktuellen Zeile. Der wParam-Parameter gibt die Anzahl der Zeichen an, die horizontal scrollen sollen, beginnend mit dem aktuellen Zeichen. |
EM_POSFROMCHAR | Gibt die Clientkoordinaten des angegebenen Zeichens zurück. |
EM_REPLACESEL | Ersetzt die aktuelle Auswahl durch den Text in einem von der Anwendung bereitgestellten Puffer, sendet das übergeordnete Fenster EN_UPDATE und EN_CHANGE Benachrichtigungscodes und aktualisiert den Rückgängigpuffer. |
EM_SCROLL | Scrollt den Text vertikal in einem mehrlineigen Bearbeitungssteuerelement. Diese Nachricht entspricht dem Senden einer WM_VSCROLL Nachricht an das Bearbeitungssteuerelement. Sie wird nicht von einzeiligen Bearbeitungssteuerelementen verarbeitet. |
EM_SCROLLCARET | Scrollt das Caret in einem Bearbeitungssteuerelement in die Ansicht. |
EM_SETFONT | Nicht unterstützt. |
EM_SETHANDLE | Legt einen Handle auf den speicher fest, der als Textpuffer verwendet wird, leert den Rückgängigpuffer, setzt die Bildlaufpositionen auf 0 zurück und erstellt das Fenster neu. |
EM_SETLIMITTEXT | Legt die maximale Anzahl von Zeichen fest, die der Benutzer in das Bearbeitungssteuerelement eingeben darf. Bei einzeiligen Bearbeitungssteuerelementen ist dieser Wert entweder 0x7FFFFFFE oder der Wert des wParam-Parameters , je nachdem, welcher Wert kleiner ist. Bei Steuerelementen mit mehreren Zeilen ist dieser Wert entweder 1 oder der Wert des wParam-Parameters , je nachdem, welcher Wert kleiner ist. |
EM_SETMARGINS | Legt die Breite des linken und rechten Rands fest und zeichnet das Bearbeitungssteuerelement neu, um die neuen Ränder widerzuspiegeln. |
EM_SETMODIFY | Legt das Änderungsflag fest oder löscht es, um anzugeben, ob das Bearbeitungssteuerelement geändert wurde. |
EM_SETPASSWORDCHAR | Definiert das Zeichen, das Bearbeitungssteuerelemente in Verbindung mit der ES_PASSWORD-Format verwenden. |
EM_SETREADONLY | Legt den schreibgeschützten Stil (ES_READONLY) in einem Bearbeitungssteuerelement fest oder entfernt sie. |
EM_SETRECT | Legt das Formatierungsrechteck für das Mehrzeilenbearbeitungssteuerelement fest und zeichnet das Fenster neu. Sie wird nicht von einzeiligen Bearbeitungssteuerelementen verarbeitet. |
EM_SETRECTNP | Legt das Formatierungsrechteck für das Mehrzeilenbearbeitungssteuerelement fest, das Fenster wird jedoch nicht neu gezeichnet. Sie wird nicht von einzeiligen Bearbeitungssteuerelementen verarbeitet. |
EM_SETSEL | Wählt einen Bereich von Zeichen im Bearbeitungssteuerelement aus, indem die Start- und Endpositionen ausgewählt werden sollen. |
EM_SETTABSTOPS | Legt Tabstopppositionen im Mehrzeilenbearbeitungssteuerelement fest. Sie wird nicht von einzeiligen Bearbeitungssteuerelementen verarbeitet. |
EM_SETWORDBREAKPROC | Ersetzt die Wordwrap-Standardfunktion durch eine anwendungsdefinierte Wordwrap-Funktion. |
EM_UNDO | Entfernt jeglichen Text, der gerade eingefügt wurde, oder fügt alle gelöschten Zeichen ein, und legt die Auswahl auf den eingefügten Text fest. Sendet bei Bedarf die EN_UPDATE und EN_CHANGE Benachrichtigungscodes an das übergeordnete Fenster. |
WM_CHAR | Schreibt ein Zeichen in das einzeilige Bearbeitungssteuerelement und sendet die EN_UPDATE und EN_CHANGE Benachrichtigungscodes an das übergeordnete Fenster. Schreibt ein Zeichen in das mehrlineare Bearbeitungssteuerelement. Verarbeitet die Tastenkombinationen für Standardfunktionen, z. B. STRG+C zum Kopieren und STRG+V zum Einfügen. In Mehrzeilenbearbeitungssteuerelementen werden auch TAB- und STRG+TAB-Tastenanschläge verarbeitet, um zwischen den Steuerelementen in einem Dialogfeld zu wechseln und Tabulatoren in Mehrzeilenbearbeitungssteuerelemente einzufügen. Verwendet die MessageBeep-Funktion für ungültige Zeichen. |
WM_CLEAR | Löscht die aktuelle Auswahl (falls vorhanden) in einem Bearbeitungssteuerelement. Wenn keine aktuelle Auswahl vorhanden ist, löscht das Zeichen rechts neben dem Caret. Wenn der Benutzer die UMSCHALTTASTE drückt, schneidet die Auswahl in die Zwischenablage oder löscht das Zeichen links neben dem Caret, wenn keine Auswahl vorhanden ist. Wenn der Benutzer die STRG-TASTE drückt, wird die Auswahl gelöscht oder am Ende der Zeile gelöscht, wenn keine Auswahl vorhanden ist. |
WM_COPY | Kopiert Text in die Zwischenablage, es sei denn, die Formatvorlage ist ES_PASSWORD. In diesem Fall gibt die Nachricht null zurück. |
WM_CREATE | Erstellt das Bearbeitungssteuerelement und benachrichtigt das übergeordnete Fenster mit TRUE für den Erfolg oder 1 für einen Fehler. |
WM_CUT | Schneidet die Auswahl in die Zwischenablage oder löscht das Zeichen links neben dem Cursor, wenn keine Auswahl vorhanden ist. |
WM_ENABLE | Bewirkt, dass das Rechteck für einzeilige Bearbeitungssteuerelemente grau gezeichnet wird. Gibt den aktivierten Zustand für einzeilige und mehrzeilige Bearbeitungssteuerelemente zurück. |
WM_ERASEBKGND | Füllt das Mehrzeilen-Bearbeitungssteuerelementfenster mit der aktuellen Farbe des Bearbeitungssteuerelements. |
WM_GETDLGCODE | Gibt die folgenden Werte zurück: DLGC_WANTCHARS, DLGC_HASSETSEL und DLGC_WANTARROWS. In Mehrzeilenbearbeitungssteuerelementen wird auch DLGC_WANTALLKEYS zurückgegeben. Wenn der Benutzer ALT+BACKSPACE drückt, wird auch DLGC_WANTMESSAGE zurückgegeben. |
WM_GETFONT | Gibt das Handle der Schriftart zurück, die vom Steuerelement verwendet wird, oder NULL , wenn das Steuerelement die Systemschriftart verwendet. |
WM_GETTEXT | Kopiert die angegebene Anzahl von Zeichen in einen Puffer und gibt die Anzahl der kopierten Zeichen zurück. |
WM_GETTEXTLENGTH | Gibt die Länge des Texts in Zeichen in einem Bearbeitungssteuerelement zurück. Die Länge enthält nicht das NULL-Endzeichen. |
WM_HSCROLL | Scrollt den Text in einem mehrlineigen Bearbeitungssteuerelement horizontal und verarbeitet die Scrollfeldbewegung. |
WM_KEYDOWN | Führt die Standardverarbeitung der Codes für virtuelle Schlüssel aus. |
WM_KILLFOCUS | Entfernt den Tastaturfokus eines Bearbeitungssteuerelementfensters, zerstört das Caret, blendet die aktuelle Auswahl aus und benachrichtigt das übergeordnete Fenster, dass das Bearbeitungssteuerelement den Fokus verloren hat. |
WM_LBUTTONDBLCLK | Löscht die aktuelle Auswahl und wählt das Wort unter dem Cursor aus. Wenn die UMSCHALTTASTE gedrückt ist, erweitert die Auswahl auf das Wort unter dem Cursor. |
WM_LBUTTONDOWN | Ändert die aktuelle Einfügemarke. Wenn die UMSCHALTTASTE gedrückt ist, erweitert die Auswahl auf die Position des Cursors. In Steuerelementen mit mehrzeiligen Bearbeitungen wird auch der Timer so festgelegt, dass er automatisch scrollt, wenn der Benutzer die Maustaste außerhalb des Mehrzeiligkeitssteuerungsfensters gedrückt hält. |
WM_LBUTTONUP | Gibt die Mausaufnahme frei und legt die Texteinfügemarke im einzeiligen Bearbeitungssteuerelement fest. In einem mehrlineigen Bearbeitungssteuerelement wird auch der Timer beendet, der in der WM_LBUTTONDOWN-Nachricht festgelegt ist. |
WM_MOUSEMOVE | Ändert die aktuelle Auswahl im einzeiligen Bearbeitungssteuerelement, wenn die Maustaste ausfällt. In einem mehrzeiligen Bearbeitungssteuerelement wird auch der Timer so festgelegt, dass er automatisch scrollen soll, wenn der Benutzer die Maustaste außerhalb des Mehrzeiligkeitssteuerelementfensters gedrückt hält. |
WM_NCCREATE | Zeiger auf die CREATESTRUCT-Struktur für das Fenster. Diese Nachricht wird an die WM_CREATE Nachricht gesendet, wenn ein Fenster zum ersten Mal erstellt wird. |
WM_NCDESTROY | Gibt den gesamten Arbeitsspeicher frei, der dem Bearbeitungssteuerelementfenster zugeordnet ist, einschließlich Textpuffer, Rückgängigpuffer, Tabstopppuffer und Hervorhebungspinsel. |
WM_PAINT | Löscht den Hintergrund, füllt das Fenster mit der aktuellen Farbe des Bearbeitungssteuerungsfensters, zeichnet den Rahmen (falls vorhanden), legt die Schriftart fest, zeichnet einen beliebigen Text und zeigt die Texteinfügungs-Caret an. |
WM_PASTE | Fügt Text aus der Zwischenablage an der Caret-Position in das Bearbeitungssteuerelementfenster ein. |
WM_SETFOCUS | Legt den Tastaturfokus eines Bearbeitungssteuerungsfensters fest (zeigt die aktuelle Auswahl an, wenn sie ausgeblendet wurde, und erstellt das Caret). |
WM_SETFONT | Legt die Schriftart fest und zeichnet das Bearbeitungssteuerelement optional neu. |
WM_SETTEXT | Kopiert Text in das einzeilige Bearbeitungssteuerelement, benachrichtigt das übergeordnete Fenster, wenn nicht genügend Arbeitsspeicher vorhanden ist, leert den Rückgängigpuffer und sendet die EN_UPDATE und EN_CHANGE Benachrichtigungscodes an das übergeordnete Fenster. In Mehrzeilenbearbeitungssteuerelementen werden die Zeilen (falls erforderlich) auch neu rapiert und die Bildlaufpositionen festgelegt. |
WM_SIZE | Legt die Größe des Steuerelementfensters bearbeiten fest, um sicherzustellen, dass die Größe die Höhe und Breite eines Zeichens berücksichtigt. |
WM_SYSCHAR | Gibt TRUE zurück, wenn der Benutzer ALT+BACKSPACE drückt. andernfalls wird keine Aktion ausgeführt. |
WM_SYSKEYDOWN | Hebt die letzte Aktion zurück, wenn der Benutzer ALT+BACKSPACE drückt; andernfalls wird keine Aktion ausgeführt. |
WM_TIMER | Scrollt den Text im Fenster Steuerelement bearbeiten, wenn der Benutzer die Maustaste außerhalb des mehrzeiligen Bearbeitungssteuerelementfensters gedrückt hält. |
WM_UNDO | Entfernt jeglichen Text, der gerade eingefügt wurde, oder fügt alle gelöschten Zeichen ein, und legt die Auswahl auf den eingefügten Text fest. Sendet bei Bedarf die EN_UPDATE und EN_CHANGE Benachrichtigungscodes an das übergeordnete Fenster. |
WM_VSCROLL | Scrollt ein mehrlineiges Bearbeitungssteuerelement vertikal und verarbeitet Scrollfeldbewegungen. Sie wird nicht von einzeiligen Bearbeitungssteuerelementen verarbeitet. |
Die vordefinierte Bearbeitungsfensterprozedur übergibt alle anderen Nachrichten zur Standardverarbeitung an die Funktion DefWindowProc .