如何将文本添加到新行而不是最后一行? Lines.Add和Lines.Append将文本添加为新行,并且Lines.Insert需要一个我不知道如何查找的位置。如何将文本追加到RichEdit控件的最后一行?
1
A
回答
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];
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;
相关问题
- 1. 如何将文本追加到文件的最后15行
- 2. 追加到Java中的CSV文件的最后一行
- 3. 如何在RichEdit控件中查找粗体文本的运行?
- 4. 如何将文本追加到d3.js中的一行
- 5. 如何将文本追加到现有的文本文件
- 6. 最后一次出现匹配行后追加文本
- 7. 将文本追加到文本文件中的现有行
- 8. 如何将一行文本追加到离子2中的现有文件中?
- 9. 如何将文本追加到黑莓文本文件中
- 10. 如何将文本追加到C++文本文件中?
- 11. 如何将行添加到delphi中的RichEdit组件?
- 12. 确保RichEdit控件中的最后一个字符可见
- 13. 将文本追加到PowerShell文件
- 14. 纯JavaScript将文本追加到文件
- 15. 如何将数据追加到Python 2.7.11中的文本文件?
- 16. Subversion:如何将文本追加到每个提交的文件?
- 17. 追加到文本文件
- 18. 将文本追加到空间不足的编辑控件上?
- 19. 自动将可执行文件追加到脚本文件中
- 20. 如何将数据追加到文件?
- 21. 将文本追加到文件中每行的开头
- 22. Ruby:将文本追加到文件的第二行
- 23. 在文本文件的最后一行之前添加文本
- 24. 通过循环将文本从第一行附加到文件的最后
- 25. C#如何追加行文本文件结尾的文本?
- 26. 如何寻找一个特定的行来追加数据或追加数据到最后一行C++
- 27. 如何将文本追加到多个文件中
- 28. 如何使用jQuery将文本追加到文本框的值?
- 29. 批处理脚本:将数据追加到文本文件中只有一行
- 30. 如何追加到文件中的行不使用shell脚本
我试过了,它工作。非常感谢。但现在我怎样才能格式化这个添加的文本。 – 2009-12-31 19:28:07