Lijnen opmaken in Rich Edit met Delphi's SelText & SelStart

Het TRichEdit Delphi-besturingselement is een wrapper voor een Windows-besturingselement voor rich text-bewerking. U kunt een Rich Edit-besturingselement gebruiken om RTF-bestanden weer te geven en te bewerken.

Hoewel je een leuke gebruikersinterface "rondom" het Rich Edit-besturingselement kunt maken met werkbalkknoppen om attributen voor de weergave van tekst in te stellen en te wijzigen, is het toevoegen van opgemaakte regels aan Rich Edit programmatisch vrij omslachtig - zoals je zult zien.

Opgemaakte lijnen toevoegen aan Rich Edit

Maken stoutmoedig tekst uit een selectie van tekst die wordt weergegeven in het besturingselement Rich Edit, tijdens runtime, moet u een tekstgedeelte maken en vervolgens de eigenschappen van de selectie instellen op SelAttributes.

Maar wat als u niet met een selectie tekst te maken hebt en dit liever wilt toevoegen (toevoegen) opgemaakte tekst in een Rich Edit-besturingselement? Je zou denken lijnen eigenschap kan worden gebruikt om vetgedrukte of gekleurde tekst toe te voegen aan Rich Edit. Echter, lijnen is een eenvoudige TStrings en accepteert alleen gewone, niet-opgemaakte tekst.

Geef niet op - er is natuurlijk een oplossing.

Bekijk dit voorbeeld voor hulp:

 // richEdit1 van het type TRichEdit met richEdit1 Doen beginnen // verplaats de cursor naar het einde SelStart: = GetTextLen; // voeg een niet-opgemaakte regel toe SelText: = 'Dit is de eerste regel' + # 13 # 10; // voeg wat normale lettertypetekst toe SelText: = 'Opgemaakte lijnen in RichEdit' + # 13 # 10; // grotere tekst SelAttributes.Size: = 13; // voeg vet toe + rood SelAttributes.Style: = [fsBold]; SelAttributes.Color: = clRed; SelText: = 'Over'; // alleen vetgedrukt SelAttributes.Color: = clWindowText; SelText: = 'Delphi'; // voeg cursief + blauw toe SelAttributes.Style: = [fsItalic]; SelAttributes.Color: = clBlue; SelText: = 'Programmering'; //nieuwe lijn SelText: = # 13 # 10; // voeg weer normaal toe SelAttributes.Size: = 8; SelAttributes.Color: = clGreen; SelText: = 'denk aan de aangepaste procedure AddFormattedLine…'; einde; 

Verplaats om te beginnen het kruisje naar het einde van de tekst in de Rich Edit. Pas vervolgens opmaak toe voordat u de nieuwe tekst daadwerkelijk toevoegt.