2

帮助我获得richedit 无法突出显示/禁用突出显示或文本选择?同时删除光标位置。该应用程序仅用于显示 rtf 文本而不是编辑,因此我不需要这些功能。在德尔福

4

4 回答 4

4

您可以在事件中将SelLength属性设置为 0OnSelectionChange

procedure TForm1.RichEdit1SelectionChange(Sender: TObject);
begin
 TRichEdit(Sender).SelLength:=0;
end;
于 2010-07-26T02:40:52.303 回答
2

澄清一下——你肯定需要丰富的文本功能,比如颜色、大小等?而且您肯定想禁止从您的控件复制并粘贴到其他地方?是这样吗?

我建议你重写来自 TRichEdit 的 OnMouseUp、OnSaveCLipboard、OnSelectionChange 以及继承的方法 GetSelTextBuf、CopyToClipboard、CutToClipboard、SelectAll .. 可能是 Repaint、Update 等等。

确定你想要什么——如果你可以在没有富文本功能的情况下生活,那么只需使用一些 TLabels 并以编程方式编写文本。

如果您必须拥有富文本,我看到了一些选择 - 为您的组件编写很多偶数处理程序,或者创建您自己的从 TRichEdit 派生的组件,这样可以更轻松地将它们中的几个放在一个表单上,或者查看像 Tori's 这样的网站看看其他人是否已经制作了这样的组件。

祝你好运。

于 2010-07-26T02:41:22.717 回答
1

您可以将 RichEdit 的 readonly 属性设置为 true - 这可以防止击键等。

于 2010-07-28T08:36:32.310 回答
0

您可以简单地禁用 RichEdit 以防止文本选择并隐藏文本光标:

RichEdit.Enabled := FALSE;
于 2018-02-26T14:14:19.543 回答