次のようなフォームがある。
Edti1に入力されているときはボタンを押すことができ、入力がなければボタンを押せないようにしたい。
Edit1のOnChangeイベントでボタンのEnabledプロパティを更新する方法など、いろいろな実現方法が考えられるが、今回はTActionのOnUpdateイベントを使う方法を紹介する。
フォームにTActionListを配置し、アクションを作成する。
ボタンのActionプロパティにAction1を設定する。
Action1のOnUpdateイベントを追加する。
procedure TForm1.Action1Update(Sender: TObject);
begin
Action1.Enabled := not Edit1.Text.IsEmpty;
end;
Edit1に入力があると、Action1のEnabledプロパティがすぐに更新される。
Action1の状態をAction1のイベントで管理するので、アプリケーションの動作が理解しやすいように思う。