次のように savetostream を使用せずにリッチエディットから RTF データを取得する方法はありますか
strStream := TStringStream.Create('') ;
try
RichEdit.Lines.SaveToStream(strStream);
Text := strStream.DataString;
strStream.CleanupInstance;
finally
strStream.Free
次のように savetostream を使用せずにリッチエディットから RTF データを取得する方法はありますか
strStream := TStringStream.Create('') ;
try
RichEdit.Lines.SaveToStream(strStream);
Text := strStream.DataString;
strStream.CleanupInstance;
finally
strStream.Free
リッチエディット コントロールから RTF データを取得する唯一の方法はストリームを使用することです。これはEM_STREAMOUT
、RTF データを取得する Windows メッセージ ( ) がEditStreamCallback
構造体を必要とするためです。 .
したがって、独自のサンプル コードを使用するか、windows メッセージへの呼び出しを実装できますEM_STREAMOUT
。
function RichTextToStr(red : TRichEdit) : string;
var ss : TStringStream;
begin
ss := TStringStream.Create('');
try
red.Lines.SaveToStream(ss);
Result := ss.DataString;
finally
ss.Free;
end;
end;
procedure CopyRTF(redFrom,redTo : TRichEdit);
var s : TMemoryStream;
begin
s := TMemoryStream.Create;
try
redFrom.Lines.SaveToStream(s);
s.Position := 0;
redTo.Lines.LoadFromStream(s);
finally
s.Free;
end;
end;
パターンからの逸脱がフラストレーションをもたらすことは証明できます....