掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
richeditの内容コピーしたい。 (ID:13733)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
TMemoryStreamを使って RichTextの一部分をコピーペーストするには こちらのようにするようです。 http://www2.big.or.jp/~osamu/Delphi/browse.cgi?index=33799 uses RichEdit;を追加 type TEditStreamMode=(esmWrite,esmRead); TForm1 = class(TForm) public FStreamRec: TEditStream; FStream: TMemoryStream; end; implementation procedure TForm1.FormCreate(Sender: TObject); begin FStream := TMemoryStream.Create; FStreamRec.pfnCallback := @EditStreamCallBack; end; procedure TForm1.FormDestroy(Sender: TObject); begin FStream.Free; end; function EditStreamCallBack(dwCookie: Longint; pbBuff: PByte; cb: Longint; var pcb: Longint): Longint; stdcall; begin try case TEditStreamMode(dwCookie) of esmWrite: pcb:= Form1.FStream.Write(pbBuff^,cb); esmRead : pcb:= Form1.FStream.Read(pbBuff^,cb); end; Result:= 0; except Result:= 1; end; end; procedure TForm1.Button1Click(Sender: TObject); begin //コピー処理 FStream.Clear; FStreamRec.dwCookie := Longint(esmWrite); RichEdit1.Perform( EM_STREAMOUT,SF_RTF or SFF_SELECTION,Longint(@FStreamRec)); end; procedure TForm1.Button2Click(Sender: TObject); begin //貼り付け処理 FStream.Position:=0; FStreamRec.dwCookie := Integer(esmRead); RichEdit2.Perform( EM_STREAMIN,SF_RTF or SFF_SELECTION,Longint(@FStreamRec)); end;
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.