TActionのOnUpdateイベントでアイドル時に処理を行う

次のようなフォームがある。
Edti1に入力されているときはボタンを押すことができ、入力がなければボタンを押せないようにしたい。

サンプルプログラム

Edit1のOnChangeイベントでボタンのEnabledプロパティを更新する方法など、いろいろな実現方法が考えられるが、今回はTActionのOnUpdateイベントを使う方法を紹介する。

フォームにTActionListを配置し、アクションを作成する。

TActionListを配置する

Action1を作成する

ボタンのActionプロパティにAction1を設定する。

Actionプロパティを設定する

Action1のOnUpdateイベントを追加する。

procedure TForm1.Action1Update(Sender: TObject);
begin
  Action1.Enabled := not Edit1.Text.IsEmpty;
end;

Edit1に入力があると、Action1のEnabledプロパティがすぐに更新される。

Action1の状態をAction1のイベントで管理するので、アプリケーションの動作が理解しやすいように思う。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください