我正在尝试向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
以我的观点为中心?或者我是否必须经历继承、覆盖绘图方法等的过程?我希望我只是缺少一些简单的东西。