アクションの更新
アクション マネージャを使用した VCL アクションの処理 への移動
アプリケーションがアイドル状態の場合、表示中のコントロールまたはメニュー項目にリンクされているアクションごとに OnUpdate イベントが発生します。これは、有効/無効や確認の有無の切り替えなどを行う一元的なコードをアプリケーションで実行する機会を提供します。たとえば、次のコードは、ツールバーが表示されている場合に "チェック マークが付く" アクションの OnUpdate イベント ハンドラの例を示しています。
procedure TForm1.Action1Update(Sender: TObject);
begin
{ Indicate whether ToolBar1 is currently visible }
(Sender as TAction).Checked := ToolBar1.Visible;
end;
void __fastcall TForm1::Action1Update(TObject *Sender)
{
// Indicate whether ToolBar1 is currently visible
((TAction *)Sender)->Checked = ToolBar1->Visible;
}
警告: 処理時間のかかるコードを OnUpdate イベント ハンドラに付け加えないでください。このイベント ハンドラは、アプリケーションがアイドル状態になると必ず実行されます。イベント ハンドラに時間がかかりすぎると、アプリケーション全体のパフォーマンスに悪影響を及ぼします。