Vcl.AppEvnts.TCustomApplicationEvents.OnActionUpdate
Delphi
property OnActionUpdate: TActionEvent read FOnActionUpdate write FOnActionUpdate;
C++
__property System::Classes::TActionEvent OnActionUpdate = {read=FOnActionUpdate, write=FOnActionUpdate};
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
event | protected | Vcl.AppEvnts.pas Vcl.AppEvnts.hpp |
Vcl.AppEvnts | TCustomApplicationEvents |
説明
アクションの Update メソッドが呼び出され,アクションリストがまだアクションを処理していないときに発生します。
OnActionUpdate イベントハンドラを使用すると,アプリケーションがアイドルのときにアクションのアクションリストが OnUpdate イベントハンドラでアクションを処理しない場合,アクションのプロパティを更新できます。OnActionUpdate イベントは,OnIdle イベントの後に発生します。
アクションを保持するアクションリストが OnUpdate イベントハンドラでアクションを更新しない場合,アクションは Application オブジェクトの OnActionUpdate イベントに転送されます。アプリケーションイベントオブジェクトはこのイベントをフックし,自身の OnActionUpdate イベントハンドラを使って応答します。
イベントハンドラの Handled パラメータは,デフォルトでは false を返します。イベントハンドラは,イベントを更新する場合,Handled を true に変更して,アクションの処理を終了する必要があります。Handled が false の状態でイベントハンドラが終了したときに,まずイベントがほかのアプリケーションイベントオブジェクトに移動し,その後でアクションの OnUpdate イベントが発生します。アクションがその後も更新されなかった場合,アクティブコントロールの UpdateAction メソッドが呼び出され,ターゲットでアクションを更新できるようにします。最後に,ほかのすべてのハンドラがアクションを処理しなかった場合はアクティブフォームの UpdateAction メソッドが呼び出されます。
メモ: CancelDispatch メソッドを OnActionUpdate イベントハンドラから呼び出すと,アプリケーションがほかのアプリケーションイベントオブジェクトにイベントを転送しないようにできます。