Delphi 10 SeattleからFiremonkeyアプリケーションでコントロールにマウスオーバーしたときにヒントを表示できるようになりました。
ヒントはWindowsとMac OS X 10.10以降でサポートされています。
FireMonkeyアプリケーションでヒントを使うときに関係するプロパティやイベント、関数などをまとめました。
Application.ShowHintプロパティ
Trueのときは、ヒントは表示されます。
TControl.Hintプロパティ
ヒントに表示する文字列です。
Button1.Hint := HintEdit.Text;
TControl.ShowHintプロパティ
Trueのときは、コントロールか子のコントロールにマウスが移動した時にヒントが表示されます。
Application.ShowHintがFalseのときは常にヒントは表示されません。
TControl.ParentShowHintプロパティ
Trueのときは、親コントロールのShowHintプロパティの値を引き継ぎます。
Falseのときは、コントロールのShowHintプロパティの値でヒントの表示・非表示が決まります。
Application.HintShortCutsプロパティ
Trueのときは、ヒント文字列にショートカットキーも表示されます。
TAction.OnHintイベント
アクションが関連付けられているコントロールにマウスが移動した時にイベントが発生します。
引数HintStrに表示するヒント文字列を設定します。
引数CanShowがTrueのときはヒントを表示します。
procedure TForm1.Action1Hint(var HintStr: string; var CanShow: Boolean);
begin
HintStr := '「' + HintStr + '」';
CanShow := True;
end;
TApplication.OnHintイベント
ヒントが表示される時にイベントが発生します。
表示されるヒント文字列はApplication.Hintで取得できます。
Application.OnHint := OnApplicationHint;
procedure TForm1.OnApplicationHint(Sender: TObject);
begin
Label1.Text := Application.Hint;
end;
TStatusBar.AutoHintプロパティ
Trueのときは、ヒントが表示されるときにTStatusBar.OnHintイベントが発生します。
表示されるヒント文字列はApplication.Hintで取得でき、任意のコントロールにヒント文字列を表示できます。
procedure TForm1.StatusBar1Hint(Sender: TObject);
begin
Label1.Text := Application.Hint;
end;
FMX.Utils.GetShortHint / FMX.Utils.GetLongHint
引数Hintはヒント文字列。”短いヒント|長いヒント”の書式。
GetShortHintはヒント文字列から短いヒント文字列を取得します。
GetShortHintはヒント文字列から長いヒント文字列を取得します。
procedure TForm1.StatusBar1Hint(Sender: TObject);
begin
Label1.Text := GetLongHint(Application.Hint);
end;