TRichEditで、ソフトの中から挿入した文章などの入力を、
アンドゥで取り消せるようにするにはどうすればいいんでしょうか?
アンドゥは、TRichEditに元からついているものを使っています。
前にどこかで読んだような気もするのですけど…。
ごめんなさい、忘れてしまいました。
SelTextで挿入していますか?
SelTextの実体は、EM_REPLACESELメッセージです。
これの、wParamの値が、0固定になっています。
本当は、wParamは fCanUndo = (BOOL)wParam ですので、
挿入の部分が、
RichEdit1.SelText := strtmp;
ならば、
RichEdit1.Perform(EM_REPLACESEL, 1, Longint(PChar(strtmp)));
に置き換えればUndoできます。
ほえー、そうなのですかぁ…。
おきかえ大変そうですけど、何とかなりそうです。
ありがとうございました。
ツイート | ![]() |