2009-12-31 132 views

回答

3

可以使用的最後一行本身,或者整個內容:

// RE = TRichEdit, Temp = string; 
// Last line only 
Temp := RE.Lines[RE.Lines.Count - 1]; 
Temp := Temp + ' plus some new text'; 
RE.Lines[RE.Lines.Count - 1] := Temp; 

// The entire content 
Temp := RE.Text; 
Temp := Temp + ' plus some new text'; 
RE.Text := Temp; 

需要注意的是第一種方式比較好,尤其是當RichEdit中含有大量的文本。讀寫RichEdit.Text可能涉及在內存中移動大量文本。

編輯:我的回答OP的評論後:

要格式化文本,添加之前保存的SelStart,然後用SelLength和SelAttributes應用格式:

// StarPos and Len are both Integers. 
StartPos := Length(RE.Text); 
Len := Length(YourNewTextToBeAdded); 
// Do stuff here to add text 
RE.SelStart := StartPos; 
RE.SelLength := Len; 
RE.SelAttributes.Style := RE.SelAttributes.Style + [fsBold]; 
+0

我試過了,它工作。非常感謝。但現在我怎樣才能格式化這個添加的文本。 – 2009-12-31 19:28:07

1

您可以使用「字符串」和「計數」屬性。編輯1.Lines.Strings [RichEdit1.Lines.Count-1]:= RichEdit1.Lines.Strings [RichEdit1.Lines.Count-1] +'Text';

+0

Lines.Strings []和Lines []是相同的東西; Lines是讀寫Lines.Strings的默認屬性。 – 2009-12-31 18:42:44

1

執行

with RichEdit1 do 
begin 
Lines.Add(s); 
Perform(EM_SCROLL, SB_LINEDOWN, 0); 
end; 
相關問題