Vcl.StdActns.THintAction

提供: RAD Studio API Documentation
移動先: 案内検索

Vcl.ActnList.TCustomActionSystem.Actions.TContainedActionSystem.Classes.TBasicActionSystem.Classes.TComponentSystem.Classes.TPersistentSystem.TObjectTHintAction

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);
}



関連項目