2017-09-12 11 views
-2

DevExpressには、「TdxRichEditControlを使用してプログラムでリッチテキストを追加および取得する方法」に関するドキュメントはありません。 または私のプログラムの埋め込み全文エディタへの提案はありますか?私はデルファイシアトルです。TdxRichEditControlを使用してプログラムでリッチテキストを追加して取得する方法は?

私の状況:

私は、ユーザーが(太字、斜体、下線などの、フォントサイズ、フォントファミリー、段落の整列)リッチテキスト編集を必要とした上でプログラムを作成しています。だから、私はDBRichEditを置き、ユーザーが変更するテキストのモデルを読み込んでいます。 このモデルのテキストをTdxRichEditControlに入力して変更を適用し、再度DBRichEditに戻してデータベースに保存する必要があります。

+0

お勧めの質問はここにあります。そして、どのような場合でも、なぜ要件を指定せずに良い推薦を期待するのでしょうか。 –

+0

これは、dev expressの制御に役立つかもしれません。 https://www.youtube.com/watch?v=97GaF1kgqPM私はそれがドキュメントなしで来ると信じるのは難しいと思う。 –

+0

ありがとう、返信のために 私はすでにそれを見たリンクについて、彼らはsettextとgettextメソッドを提供していません。 –

答えて

1

テキストをコントロールに挿入したい場合は、DevExpress RichEditから別の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; 
+2

ありがとう、Dave私はすでに、TdxRichEditControlからのテキストの挿入と取得をサポートする新しいバージョンのDevExpressに切り替えることで問題を解決します。 TdxRichEditControl.Document.InsertRTFtext(); TdxRichEditControl.Document.GetRTFtext(); –

関連する問題