如何在设计时将富格式文本分配给 Delphi TRichEdit或TcxRichEdit(可能使用Lines属性)?

alen0pnh  于 2022-12-23  发布在  其他
关注(0)|答案(2)|浏览(203)

我只想将不可变的富格式文本分配给RichEdit(或者DevExpress cxRichEdit,它显然是从VCL RichEdit继承的)。我知道如何在运行时使用文本选择和设置属性来进行大量格式化。但是我不需要这种灵活性-我只是有一些用粗体显示的长文本,不需要在运行时修改它。这是给用户的一些信息/文档。
我如何在设计时分配这样的文本?RichEdit没有复杂的编辑器(至少我找不到它)为线属性。我试图创建RTF文档在Word中,然后复制粘贴其值(带有RTF标记的文本)到线属性,但RichEdit显示所有的RTF标记。此外,Word添加了令人难以置信的大量RTF附加信息,而不仅仅是一些RTF标签在这里和那里。
如何在设计时添加带格式文本?

u5i3ibmn

u5i3ibmn1#

IMO这是不可能在设计时添加格式化文本的。
您可以在运行时加载它:

RichEdit1.Lines.LoadFromFile(FileName);
2nc8po8w

2nc8po8w2#

我同意@fpiette的观点,不可能在设计时将格式化的文本加载到TRichEdit中,但可以在设计时将其添加到项目中,并在运行时将其加载到TRichEdit中。
您可以将.rtf文件添加为RCDATA资源,然后加载它,例如,在创建窗体期间:

procedure TMainForm.FormCreate(Sender: TObject);
var
  LRes: TResourceStream;
begin
  LRes := TResourceStream.Create(HInstance, 'DOCUMENT', RT_RCDATA);
  try
    RichEdit1.Lines.LoadFromStream(LRes);
  finally
    LRes.Free;
  end;
end;

相关问题