Vcl.StdActns.THintAction
Delphi
THintAction = class(TCustomAction)
C++
class PASCALIMPLEMENTATION THintAction : public Vcl::Actnlist::TCustomAction
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
class | public | Vcl.StdActns.pas Vcl.StdActns.hpp |
Vcl.StdActns | Vcl.StdActns |
説明
THintAction は,ヒントを備えたコントロールやメニュー項目の上でユーザーがマウスを停止したときに実行されるアクションです。
アクションマネージャやアクションリストの THintAction は,ほかの定義済みアクションを使用するような方法では扱わないでください。THintAction は,クライアントコントロールを操作することを予定していません。クライアントコントロールは,アプリケーションオブジェクトによって使用されます。
Hint プロパティを定義しているコントロールまたはメニュー項目の上でユーザーがマウスを停止すると,アプリケーションは以下の 2 とおりの方法のいずれかで応答します。
アプリケーションが OnHint イベントハンドラを持つ場合は,OnHint イベントを生成する
OnHint イベントハンドラがない場合は,アプリケーションは THintAction オブジェクトを実行する
THintAction が実行されると,アクションに応答するコントロールが見つかるまで,ターゲットとして可能性のあるコントロールの ExecuteAction メソッドを呼び出します。TStatusBar のような一部のコントロールでは,ExecuteAction メソッドをオーバーライドして THintAction に応答できます。
コンポーネント開発者は,ヒントメッセージを表示することで,新しいコンポーネントの ExecuteAction メソッドをオーバーライドして THintAction に応答できます。こうした ExecuteAction メソッドは,次のように指定されます。
function TMyControl.ExecuteAction(Action: TBasicAction): Boolean;
var
HintText: string;
begin
if Action is THintAction then
begin
HintText := THintAction(Action).Hint;
{ ヒントテキストを表示する処理 }
Result := True;
end
else Result := inherited ExecuteAction(Action);
end;
bool __fastcall TMyControl::ExecuteAction(TBasicAction *Action)
{
THintAction *pHint = dynamic_cast<THintAction *>(Action);
if (pHint)
{
// pHint->Hint を表示するための処理
returntrue;
}
return TComponent::ExecuteAction(Action);
}