如何使用TdxRichEditControl以编程方式添加和获取富文本?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用TdxRichEditControl以编程方式添加和获取富文本?相关的知识,希望对你有一定的参考价值。
DevExpress不提供有关“如何使用TdxRichEditControl
以编程方式添加和获取富文本”的文档。或者对我的程序中的嵌入式全文编辑器有任何建议吗?我在德尔福西雅图。
我的情况:
我正在创建一个程序,用户需要在其上进行富文本编辑(如粗体,斜体,下划线,字体大小,字体系列,段落对齐)。所以我推出了一个加载用户将进行更改的文本模型的DBRichEdit
。因此,我需要将此模型文本应用于TdxRichEditControl
以应用更改并将其再次返回到DBRichEdit
以将其保存在数据库中。
答案
如果你只想将部分文本插入到控件中,这是我用来从一个DevExpress RichEdit复制到另一个源代码的一些代码。你可能可以调整它以从另一个源复制(警告 - 这是几年旧):
procedure AppendToRichEdit(const Source, Dest: TcxRichEdit) ;
var
RTFStream: TEditStream;
Stream : TMemoryStream;
function EditStreamReader(dwCookie: DWORD; pBuff: Pointer; cb: LongInt; pcb: PLongInt): DWORD; stdcall;
begin
Result := $0000;
try
pcb^ := TStream(dwCookie).Read(pBuff^, cb);
except
Result := $FFFF;
end;
end;
begin
Stream := TMemoryStream.Create;
try
Source.Lines.SaveToStream(Stream) ;
Stream.Position := 0;
RTFStream.dwCookie := DWORD(Stream) ;
RTFStream.dwError := $0000;
RTFStream.pfnCallback := @EditStreamReader;
Dest.InnerControl.Perform(EM_STREAMIN, SFF_SELECTION or SF_RTF or SFF_PLAINRTF, LPARAM(@RTFStream)) ;
if RTFStream.dwError <> $0000 then
raise Exception.Create('Error appending RTF data.') ;
finally
Stream.Free;
end;
end;
以上是关于如何使用TdxRichEditControl以编程方式添加和获取富文本?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 c# 检查 OpenOffice 是不是以编程方式安装
如何以编程方式创建和使用 UIcollectionView?