掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
メニューの作成について (ID:2389)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
こんにちは。 いろいろとありがとうございました。 皆さまに教えていただいたのを参考にUNITを作りました。 unit UnitM; interface uses StdCtrls; // 元に戻す(Ctrl+Z) procedure MUndo(ActiveEdit: TCustomEdit); // コピー(Ctrl+C) procedure MCopy(ActiveEdit: TCustomEdit); // 貼り付け(Ctrl+V) procedure MPaste(ActiveEdit: TCustomEdit); // 切り取り(Ctrl+X) procedure MCut(ActiveEdit: TCustomEdit); implementation procedure MUndo(ActiveEdit: TCustomEdit); begin try ActiveEdit.Undo; except ActiveEdit.free; end; end; procedure MCopy(ActiveEdit: TCustomEdit); begin try ActiveEdit.CopyToClipboard; except ActiveEdit.free; end; end; procedure MPaste(ActiveEdit: TCustomEdit); begin try ActiveEdit.PasteFromClipboard; except ActiveEdit.free; end; end; procedure MCut(ActiveEdit: TCustomEdit); begin try ActiveEdit.CutToClipboard; except ActiveEdit.free; end; end; end. 呼び出す側 procedure TForm1.Undo1Click(Sender: TObject); begin if ActiveControl is TCustomEdit then MPaste(TCustomEdit(ActiveControl)); end; これで、うまく行くようになりました。 どうも、ありがとうございました。 あと、ひとつなんですけど。。。 UNDOだけ、うまくいきませんでした。 EDITに連続して文字を貼り付けてUNDOすると、一番最初に戻ってしまいます。 例 1)EDIT1にAAAAと貼り付ける。(EDITの文字AAAA) これでUNDOだと、元に戻ります。(EDITの文字 ) 例 1)EDIT1にAAAAと貼り付ける。(EDITの文字AAAA) 2)EDIT1にAAAAと貼り付ける。(EDITの文字AAAAAAAA) これでUNDOだと(EDITの文字 )こういう風に最初に戻ってしまします。 これを、直前のものだけUNDOにするには、どうすればよいのですか? しつこいようですが、宜しくお願いいたします。m(_ _)m
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.