文字がなければあるアクションを使用できなくするには?

解決


テキストエディタに挑戦  2004-03-30 12:32:20  No: 8060

初心者です。宜しくお願いいたします。

メモ帳の切り取りなどのように文字がなければアクション(TEditCopyなどの標準アクションではなく独自のアクション)を使用できないようにするにはどうすればよいでしょうか?


たかみちえ  URL  2004-03-30 17:53:41  No: 8061

アクションのEnabledを変更します。
わたしはApplicationEvents.OnIdleで一括処理(前アクションのEnabled判定)するようにしています。


るるとん@K  2004-03-30 18:08:35  No: 8062

選択範囲が変わると実行されるイベントがあったような気がします(PDAからの投稿なので名前分からん


るるとん@K  2004-03-30 18:16:59  No: 8063

***.Enabled:=Memo1.SelText<>'';

***.Enabled:=Length(Memo1.SelText)>0;
***はメニューやらボタンです


ふぐちゃん  2004-03-30 22:33:08  No: 8064

> メモ帳の切り取りなどのように文字がなければ
正確には「文字列が選択されていなければ」かな?

エディタ部分がTMemoで切り取りのアクションのNameプロパティがactCutだとすると、
私なら下のよう書くと思います。

// actCutのOnExecute
procedure TForm1.actCutExecute(Sender: TObject);
begin
  Memo1.CutToClipboard;
end;

// actCutのOnUpdate
procedure TForm1.actCutUpdate(Sender: TObject);
begin
  actCut.Enabled := Memo1.SelLength > 0;
end;


テキストエディタに挑戦  2004-03-31 00:18:42  No: 8065

たかみちえさん、るるとん@Kさん、ふぐちゃんさん、返信ありがとうございます。

OnUpdateに書けばよいのですね。

皆様どうもありがとうございました。


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

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






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