Computerwissenschaften

Fügen Sie formatierte Zeilen mit SelText und SelStart hinzu

Das TRichEdit Delphi-Steuerelement ist ein Wrapper für ein Windows- Rich-Text-Bearbeitungssteuerelement. Sie können ein Rich Edit-Steuerelement verwenden, um RTF-Dateien anzuzeigen und zu bearbeiten.

Während Sie eine schöne Benutzeroberfläche „um“ das Rich Edit-Steuerelement mit Symbolleistenschaltflächen zum Festlegen und Ändern von Textanzeigeattributen erstellen können, ist das programmgesteuerte Hinzufügen formatierter Zeilen zu Rich Edit ziemlich umständlich – wie Sie sehen werden.

 

So fügen Sie Rich Edit formatierte Zeilen hinzu

Um aus einer im Rich Edit-Steuerelement angezeigten Textauswahl Fettdruck zu erstellen , müssen Sie zur Laufzeit einen Textabschnitt erstellen und dann die Eigenschaften der Auswahl auf SelAttributes festlegen .

Was ist jedoch, wenn Sie sich nicht mit einer Textauswahl befassen und stattdessen formatierten Text zu einem Rich Edit-Steuerelement hinzufügen (anhängen) möchten ? Sie könnten denken, dass die Lines- Eigenschaft verwendet werden kann, um Rich Edit fetten oder farbigen Text hinzuzufügen. Allerdings Linien sind ein einfaches TStrings und werden nur normalen, unformatierten Text akzeptieren.

Gib nicht auf – natürlich gibt es eine Lösung.

Schauen Sie sich dieses Beispiel an, um Hilfe zu erhalten:

 //richEdit1 of type TRichEdit
with richEdit1 do
begin
//move caret to end
SelStart := GetTextLen;
//add one unformatted line
SelText := 'This is the first line' + #13#10;
//add some normal font text
SelText := 'Formatted lines in RichEdit' + #13#10;
//bigger text
SelAttributes.Size := 13;
//add bold + red
SelAttributes.Style := [fsBold];
SelAttributes.Color := clRed;
SelText := 'About';
//only bold
SelAttributes.Color := clWindowText;
SelText := ' Delphi ';
//add italic + blue
SelAttributes.Style := [fsItalic];
SelAttributes.Color := clBlue;
SelText := 'Programming';
//new line
SelText := #13#10;
//add normal again
SelAttributes.Size := 8;
SelAttributes.Color := clGreen;
SelText := 'think of AddFormattedLine custom procedure...';
end;

Verschieben Sie das Caret zunächst an das Ende des Textes in der Rich-Bearbeitung. Wenden Sie dann die Formatierung an, bevor Sie den neuen Text tatsächlich anhängen.

Similar Posts

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.