TCustomHint
気を散らさないように、うまくフェードインおよびフェードアウトするメッセージをユーザーに表示するために使用しようとしています。しかしShowHint
、ポイントでオブジェクトを呼び出すと、ヒント ボックスは指定したポイントを中心に表示されます。私が望むのは、左上の座標が指定されたポイントになるようにボックスを表示することです。
これが私が使用しているコードですので、ヒントを示してください:
procedure ShowNotification(ATitle: UnicodeString; AMsg: UnicodeString);
var
Box: TCustomHint;
P: TPoint;
begin
Box := TCustomHint.Create(MyForm);
Box.Title := ATitle;
Box.Description := AMsg;
Box.Delay := 0;
Box.HideAfter := 5000;
Box.Style := bhsStandard;
P.X := 0;
P.Y := 0;
Box.ShowHint(P);
end;
ポイントの X/Y 座標がフォームに関連していないことはわかっていますが、それは問題ではありません。
私が電話をかけたときに何が起こるかをたどってみましたが、内部のShowHint
基礎となる最終的な幅をどうにかして制御できれば、私は仕事をしている可能性があります。TCustomHintWindow
TCustomHint.ShowHint(Rect: TRect)
だから私の質問は: aTCustomHint
が自分のポイントに集中するのを止める明白な方法はありますか? または、描画メソッドの継承、オーバーライドなどのプロセスを経る必要がありますか? シンプルなものが欠けていることを願っています。