相关疑难解决方法(0)

在运行时使用TRichEdit而不定义父级

我需要使用TRichEdit在运行时所讨论的执行RTF文本转换这里.我成功完成了这个但是我不得不设置一个虚拟形式作为父级,如果不能我不能填充TRichedit.Lines.(错误:缺少父级).我在下面粘贴我的功能,有人可以建议一种避免定义父母的方法吗?您是否也可以对此发表评论并告诉我您是否找到了更高效的想法?

注意:我需要一个字符串,而不是TStrings作为输出,这就是为什么它的设计是这样的.

function RtfToText(const RTF: string;ReplaceLineFeedWithSpace: Boolean): string;
var
  RTFConverter: TRichEdit;
  MyStringStream: TStringStream;
  i: integer;
  CustomLineFeed: string;

begin
  if ReplaceLineFeedWithSpace then
    CustomLineFeed := ' '
    else
    CustomLineFeed := #13;
  try
    RTFConverter := TRichEdit.Create(nil);
    try
      MyStringStream := TStringStream.Create(RTF);
      RTFConverter.parent := Form4; // this is the part I don't like
      RTFConverter.Lines.LoadFromStream(MyStringStream);
      RTFConverter.PlainText := True;
      for i := 0 to RTFConverter.Lines.Count - 1 do
      begin
        if i < RTFConverter.Lines.Count - 1 then
          Result := Result + RTFConverter.Lines[i] + CustomLineFeed
          else
          Result …
Run Code Online (Sandbox Code Playgroud)

delphi rtf trichedit

18
推荐指数
2
解决办法
8638
查看次数

标签 统计

delphi ×1

rtf ×1

trichedit ×1