クリップボードが空の場合、貼り付けコマンドを無効にするには?

解決


ちゃっかりはちべー  2004-10-08 03:02:27  No: 11320

テキストエディタの作成に挑戦中の初心者です。

メインメニューとツールバーに貼り付けコマンドを設けているのですが、クリップボードが空っぽの時、貼り付けコマンドを無効にするにはどのようにすればよいか教えて頂けないでしょうか?

貼り付けコマンドは下記のコードにしています。
procedure TForm1.EditPasteExecute(Sender: TObject);
begin
  RichEdit1.PasteFromClipboard;
end;

どうか宜しくお願い致します。


jok  2004-10-08 05:08:26  No: 11321

>クリップボードが空っぽの時、貼り付けコマンドを無効にするにはどのようにすればよいか

空っぽではなく、画像などのテキスト以外が入っているときも無効にしなければ
いけません。

上位のメニュー項目の OnClick イベントで

uses Clipbrd;

procedure TForm1.menuEditClick(Sender: TObject);
begin
  Paste1.Enabled := Clipboard.HasFormat(CF_TEXT);
end;

のようにします。


ちゃっかりはちべー  2004-10-10 01:25:45  No: 11322

jokさんありがとうございます。

アクションのOnUpdateイベントにコードを記述して出来ました。

procedure TForm1.EditPasteUpdate(Sender: TObject);
begin
  EditPaste.Enabled := Clipboard.HasFormat(CF_TEXT);
end;


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加