Freigeben über


Verwenden von Rich-Edit-Textvorgängen

Eine Anwendung kann Nachrichten senden, um Text in einem Rich-Edit-Steuerelement abzurufen oder zu finden. Sie können entweder den ausgewählten Text oder einen angegebenen Textbereich abrufen.

Um den ausgewählten Text in einem Rich-Edit-Steuerelement abzurufen, verwenden Sie die EM_GETSELTEXT Nachricht. Der Text wird in das angegebene Zeichenarray kopiert. Sie müssen sicherstellen, dass das Array groß genug ist, um den ausgewählten Text plus ein abschließendes NULL-Zeichen zu enthalten.

Um einen angegebenen Textbereich abzurufen, verwenden Sie die EM_GETTEXTRANGE Nachricht. Die mit dieser Nachricht verwendete TEXTRANGE-Struktur gibt den abzurufenden Textbereich an und zeigt auf ein Zeichenarray, das den Text empfängt. Auch hier muss die Anwendung sicherstellen, dass das Array groß genug für den angegebenen Text und ein beendendes NULL-Zeichen ist.

Sie können in einem Rich-Edit-Steuerelement nach einer Zeichenfolge suchen, indem Sie die EM_FINDTEXT oder EM_FINDTEXTEX Nachrichten oder deren Unicode-Entsprechungen, EM_FINDTEXTW und EM_FINDTEXTEXW verwenden. Die FINDTEXT-Struktur , die mit den nonextended-Versionen verwendet wird, gibt den zu durchsuchenden Textbereich und die zu suchende Zeichenfolge an. Die erweiterten Versionen verwenden eine FINDTEXTEX-Struktur , die dieselben Informationen angibt und auch die Start- und Endpunkte des Zeichenbereichs des gefundenen Texts empfängt. Sie können auch solche Optionen angeben, z. B. ob bei der Suche die Groß-/Kleinschreibung beachtet wird.

Wichtige Informationen

Technologien

Voraussetzungen

  • C/C++
  • Programmierung der Windows-Benutzeroberfläche

Anweisungen

Verwenden eines Rich Edit Text-Vorgangs

Die folgende Beispielfunktion findet den angegebenen Text im ausgewählten Text in einem Rich-Edit-Steuerelement, das Unicode unterstützt. Wenn das Ziel gefunden wird, wird es zur neuen Auswahl.

BOOL FindTextInSelection(HWND hRich, WCHAR* target)
{
    CHARRANGE selectionRange;
    
    SendMessage(hRich, EM_EXGETSEL, 0, (LPARAM)&selectionRange);
    
    FINDTEXTEX ftex;
    
    ftex.lpstrText  = target;
    ftex.chrg.cpMin = selectionRange.cpMin;
    ftex.chrg.cpMax = selectionRange.cpMax;
    
    LRESULT lr = SendMessage(hRich, EM_FINDTEXTEXW, (WPARAM)FR_DOWN, (LPARAM) &ftex);
    
    if (lr >= 0)
    {
        LRESULT lr1 = SendMessage(hRich, EM_EXSETSEL, 0, (LPARAM)&ftex.chrgText);
        
        SendMessage(hRich, EM_HIDESELECTION, (LPARAM)FALSE, 0);
        
        return TRUE;
    }
    
    return FALSE;
    
}

Bemerkungen

Microsoft Rich Edit 3.0 unterstützt auch die Funktion HexToUnicode Input Method Editor (IME), die es einem Benutzer ermöglicht, zwischen Hexadezimaltasten und Unicode zu konvertieren. Weitere Informationen finden Sie unter HexToUnicode IME.

Verwenden von Rich Edit-Steuerelementen

Demo allgemeiner Windows-Steuerelemente (CppWindowsCommonControls)