Verwenden von Word- und Zeilenumbruchinformationen
Ein umfangreiches Bearbeitungssteuerelement ruft eine Funktion auf, die als Wortumbruchprozedur bezeichnet wird, um Unterbrechungen zwischen Wörtern zu finden und zu bestimmen, wo Zeilen unterbrochen werden können. Das Steuerelement verwendet diese Informationen beim Ausführen von Wortumbruchvorgängen und bei der Verarbeitung von TASTENkombinationen STRG+NACH-LINKS-TASTE und STRG+NACH-RECHTS-TASTE. Eine Anwendung kann Nachrichten an ein umfangreiches Bearbeitungssteuerelement senden, um die standardmäßige Wortumbruchprozedur zu ersetzen, Umbruchinformationen abzurufen und zu bestimmen, auf welche Zeile ein bestimmtes Zeichen fällt.
Wichtige Informationen
Technologien
Voraussetzungen
- C/C++
- Programmierung der Windows-Benutzeroberfläche
Anweisungen
Verwenden von Word- und Zeilenumbruchinformationen
Word-Break-Prozeduren für Rich-Bearbeitungssteuerelemente ähneln denen für Bearbeitungssteuerelemente, verfügen aber über zusätzliche Funktionen: Wortumbruchprozeduren für beide Arten von Steuerelementen können bestimmen, ob ein Zeichen ein Trennzeichen ist, und den nächsten Wortumbruch vor oder nach der angegebenen Position finden. Ein Trennzeichen ist ein Zeichen, das das Ende eines Worts markiert, z. B. ein Leerzeichen. Normalerweise tritt in einem Bearbeitungssteuerelement ein Wortumbruch nur nach Trennzeichen auf. Für die meisten asiatischen Sprachen gelten jedoch unterschiedliche Regeln.
Word Prozeduren für umfangreiche Bearbeitungssteuerelemente gruppieren auch Zeichen in Zeichenklassen, die jeweils durch einen Wert im Bereich 0x00 durch 0x0F identifiziert werden. Umbrüche treten entweder nach Trennzeichen oder zwischen Zeichen verschiedener Klassen auf. Daher würde eine Wortumbruchprozedur mit unterschiedlichen Klassen für alphanumerische und Interpunktionszeichen zwei Wortumbrüche in der Zeichenfolge "Win.doc" (vor und nach dem Punkt) finden.
Die Klasse eines Zeichens kann mit null oder mehr Wörterumbruchflags kombiniert werden, um einen 8-Bit-Wert zu bilden. Beim Ausführen von Wortumbruchvorgängen verwendet ein umfangreiches Bearbeitungssteuerelement Wörterumbruchflags, um zu bestimmen, wo Zeilen umgebrochen werden können. Rich Edit verwendet die folgenden Wörterumbruchflags.
Flag | Beschreibung |
---|---|
WBF_BREAKAFTER | Zeilen können nach dem Zeichen unterbrochen werden. |
WBF_BREAKLINE | Das Zeichen ist ein Trennzeichen. Trennzeichen markieren die Enden von Wörtern. Zeilen können nach Trennzeichen unterbrochen werden. |
WBF_ISWHITE | Das Zeichen ist ein Leerzeichen. Nachfolgende Leerzeichen sind beim Umschließen nicht in der Länge einer Zeile enthalten. |
Der WBF_BREAKAFTER Wert wird verwendet, um das Umschließen nach einem Zeichen zu ermöglichen, das das Ende eines Worts nicht markiert, z. B. einen Bindestrich.
Sie können die standardmäßige Wortumbruchprozedur für ein Rich-Edit-Steuerelement durch Ihre eigene Prozedur ersetzen, indem Sie die EM_SETWORDBREAKPROC Nachricht verwenden. Weitere Informationen zu Wortumbruchprozeduren finden Sie in der Beschreibung der EditWordBreakProc-Funktion .
Hinweis
Diese Ersetzung wird für Microsoft Rich Edit 2.0 und höher aufgrund der Komplexität mehrsprachiger Wörtertrennungen nicht empfohlen.
Für Microsoft Rich Edit 1.0 können Sie die EM_SETWORDBREAKPROCEX Nachricht verwenden, um die standardmäßige erweiterte Wortumbruchprozedur durch eine EditWordBreakProcEx-Funktion zu ersetzen. Diese Funktion stellt zusätzliche Informationen zum Text bereit, z. B. den Zeichensatz. Sie können die EM_GETWORDBREAKPROCEX Nachricht verwenden, um die Adresse der aktuellen erweiterten Wortumbruchprozedur abzurufen. Beachten Sie, dass Microsoft Rich Edit 2.0 und höher EditWordBreakProcEx, EM_GETWORDBREAKPROCEX und EM_SETWORDBREAKPROCEX nicht unterstützen.
Sie können die EM_FINDWORDBREAK Nachricht verwenden, um Wortumbrüche zu suchen oder die Klassen- und Wortumbruchflags eines Zeichens zu bestimmen. Das Steuerelement wiederum ruft seine Wortumbruchprozedur auf, um die angeforderten Informationen abzurufen.
Um zu bestimmen, auf welche Zeile ein bestimmtes Zeichen fällt, können Sie die EM_EXLINEFROMCHAR Nachricht verwenden.
Zugehörige Themen