- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用 TRichEdit
来显示我的应用程序中完成的最后操作。我的 TRichEdit
的第一行应该是最后一个操作。如果操作失败,我想把这条线变成红色。
我的问题是我无法在 TRichEdit
顶部插入彩色线。这是我尝试过的:
RichEditLog.SelAttributes.Color := clBlack;
RichEditLog.Lines.Insert(0, 'Operation 1 OK');
// RichEditLog.Lines.Add('Operation 1 OK');
RichEditLog.SelAttributes.Color := clRed;
RichEditLog.Lines.Insert(0, 'Operation 2 failed');
// RichEditLog.Lines.Add('Operation 2 failed');
RichEditLog.SelAttributes.Color := clRed;
RichEditLog.Lines.Insert(0, 'Operation 3 failed');
// RichEditLog.Lines.Add('Operation 3 failed');
RichEditLog.SelAttributes.Color := clBlack;
RichEditLog.Lines.Insert(0, 'Operation 4 OK');
// RichEditLog.Lines.Add('Operation 4 OK');
问题是我的 TRichEdit
仅应用第一次颜色更改并为所有行保留它。如果我使用 Add()
而不是 Insert()
,颜色会发生变化,但该行会插入到 TRichEdit
的末尾。
我的问题是:有没有一种简单的方法可以获得我正在寻找的结果?
最佳答案
如果要在开头插入,需要将选定的起始位置和长度设置为0:
RichEditLog.SelStart := 0;
RichEditLog.SelLength := 0;
RichEditLog.SelAttributes.Color := clBlack;
RichEditLog.Lines.Insert(0, 'Operation 1 OK');
或者,您可以将文本分配给 RichEdit.SelText
,而不是 RichEditLog.Lines.Insert()
,但随后您需要自己添加新行字符,例如:
RichEditLog.SelText := 'Operation 1 OK'+sLineBreak;
无论哪种方式,当应用于您的测试代码时,结果都是:
关于delphi - 在 TRichEdit 顶部插入彩色线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40422780/
我正在尝试找到一种在使用 RichEdit 控件打印方法时在 Delphi 中强制分页的方法。由于某些愚蠢的原因,Rich Edit 控件忽略了\page 命令。 有谁知道有什么方法可以做到这一点吗?
如何在同一行书写不同颜色的文字? (我使用richedit)。 procedure TForm1.btnEClick(sender: TObject); begin m0.SelAttribute
很难说这里问的是什么。这个问题是模棱两可的、模糊的、不完整的、过于宽泛的或修辞的,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开它,visit the help center . 10
我目前在我的一个软件(在 Delphi 7 中)中使用 TRichEdit 作为“实时”事件日志查看器,我最近分析了我的软件,TRichEdit 消耗了超过 40% 的软件 cpu 时间。 我只是想测
有没有办法改变插入符号的像素位置? 我想每次移动鼠标时都移动护理点。 喜欢: 鼠标移动: MoveCaretPos(X, Y); 最佳答案 不,您不能将插入符号的位置设置在特定点,而必须将插入符号设置
我使用 TRichEdit 来显示我的应用程序中完成的最后操作。我的 TRichEdit 的第一行应该是最后一个操作。如果操作失败,我想把这条线变成红色。 我的问题是我无法在 TRichEdit 顶部
TRichEdit 控件中每行的左侧有一个不可见的空间,其中光标变为右上箭头,当您单击此处时,整行都会被选中。当 TRichEdit 的文本对齐方式为居中或右时,很容易看到它。我相信这个空间被称为选择
我需要在运行时使用 TRichEdit 来执行 rtf 到文本的转换,如所讨论的 here 。我成功地做到了这一点,但我必须设置一个虚拟表单作为父表单,否则我无法填充 TRichedit.Lines。
我想创建一个自定义控件(TRichEdit 的后代)。我只想在编辑字段上方添加一些文本。 我创建了自己的控件,并重写了构造函数来为标题创建 TLabel。它有效,但我的问题是:如何将标签移到 Rich
我有返回字符索引的函数 GetCharFromPos(Pt: TPoint): Integer; 现在我想了解该职位的特征。像 GetCharByIndex(Index: Integer): Char
我需要在 TRichEdit 中支持“友好名称超链接”,我找到的所有解决方案都基于自动 URL(EM_AUTOURLDETECT),它通过检测用户输入的以 www(或 http)开头的字符串来工作。
有没有办法暂停/恢复 TRichEdit 控件中的撤消记录?是否有要发送的消息或要设置的模式? 编辑 我已经通过使用 ITextDocument 接口(interface)解决了这个问题。请看我下面的
如何在 TRichEdit 中阻止拖放?德尔福代码我使用 Rich edit,并且很难阻止拖放功能,特别是从表单外部拖动文本,比如从 IE 拖到我的 RichEdit。 最佳答案 参见RevokeDr
我目前正在将我们的软件解决方案从 Delphi 7 迁移到 2010。大部分更改都很简单,只剩下少量障碍。 在表单上,我们使用 TRichEdit,它显示从 MSSQL 数据库中的 blob 字段
我正在使用 tRichEdit 组件,并使用 tSpinedit 来确定制表符间距,使用 trichedit.oncreate 事件来生成制表符位置数组。这工作正常,我生成的每个新段落都使用定义的制表
我在使用 TRichEdit 时遇到一些问题。 第一个问题是,如果我尝试将剪贴板中的大量文本粘贴到空的 TRichEdit 中,它会截断文本的底部。 我猜想与第一个问题相关的第二个问题是,我似乎限制了
我正在尝试围绕 TRichEdit 编写一个包装类,它可以将 RTF 编码为明文或从明文解码。 这是我到目前为止所写的内容: type TRTF = class private FRi
我正在使用当前代码在 TRichEdit 上突出显示 URL: procedure TForm1.WndProc(var Message: TMessage); var p: TENLink;
我正在尝试将 TRichEdit 组件上的富文本转换为 HTML 标签。我有一个函数用于此,但它不起作用,因为组件中的文本始终以 PlainText 发送。组件上的 PlainText 选项设置为 f
我就这个问题给你一个简短的想法。 从数据库中检索 (id,name) 字段记录到列表框中。 从列表中选择任何记录。 将备注(Blob 类型)显示到选定 ID 的丰富编辑框中。 除了两个记录都很好。 这
我是一名优秀的程序员,十分优秀!