Delen via


Hoe opgemaakte tekstopdrachten te gebruiken

Een toepassing kan berichten verzenden om tekst op te halen of terug te vinden in een rich edit control. U kunt de geselecteerde tekst of een opgegeven tekstbereik ophalen.

Gebruik het EM_GETSELTEXT bericht om de geselecteerde tekst op te halen in een rich edit control. De tekst wordt gekopieerd naar de opgegeven tekenmatrix. U moet ervoor zorgen dat de matrix groot genoeg is om de geselecteerde tekst plus een afsluit-null-teken te bevatten.

Als u een opgegeven tekstbereik wilt ophalen, gebruikt u het EM_GETTEXTRANGE bericht. De TEXTRANGE structuur die met dit bericht wordt gebruikt, geeft het tekstbereik op dat moet worden opgehaald en verwijst naar een tekenmatrix die de tekst ontvangt. Ook hier moet de toepassing ervoor zorgen dat de matrix groot genoeg is voor de opgegeven tekst plus een afsluit null-teken.

U kunt zoeken naar een tekenreeks in een rich edit-controle met behulp van de EM_FINDTEXT of EM_FINDTEXTEX berichten, of hun Unicode-equivalenten, EM_FINDTEXTW en EM_FINDTEXTEXW. De FINDTEXT structuur die wordt gebruikt met de niet-volgende versies geeft het tekstbereik op waarnaar moet worden gezocht en de tekenreeks waarnaar moet worden gezocht. De uitgebreide versies maken gebruik van een FINDTEXTEX structuur, waarmee dezelfde informatie wordt opgegeven en ook de begin- en eindpunten van het tekenbereik van de gevonden tekst worden ontvangen. U kunt ook opties opgeven, zoals of de zoekopdracht hoofdlettergevoelig is.

Wat u moet weten

Technologieën

Voorwaarden

  • C/C++
  • Programmeren van Windows-gebruikersinterface

Aanwijzingen

Een bewerking tekst met opmaak bewerken gebruiken

Met de volgende voorbeeldfunctie wordt de opgegeven tekst binnen de geselecteerde tekst gevonden in een rich edit-besturingselement dat Unicode ondersteunt. Als het doel wordt gevonden, wordt het de nieuwe selectie.

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;
    
}

Opmerkingen

Microsoft Rich Edit 3.0 ondersteunt ook de functie HexToUnicode Input Method Editor (IME), waarmee een gebruiker kan converteren tussen hexadecimaal en Unicode met behulp van sneltoetsen. Zie HexToUnicode IMEvoor meer informatie.

Rijke bewerkingselementen gebruiken

demo van algemene besturingselementen van Windows (CppWindowsCommonControls)