Maw*_*awg 1 delphi hint tdbgrid mouse-coordinates
当用户将鼠标移到a上时,我想显示一个提示TDbStringGrid.它几乎可以工作,但提示显示高和左.
在我OnMouseMove,我收到X&Y,我认为它是abosulte屏幕corrdinates,但我可以dbGrid.MouseCoord(X, Y)用来获得DB网格中的一个点.
当我使用时显示我的提示时Application.ActivateHint(),它被放置在高处和左侧.
知道我做错了什么吗?
我尝试使用该ClientToScreen方法将控件的相对坐标转换为屏幕坐标,因为ActivateHint使用屏幕坐标和OnMouseMove接收控件相关的事件.在代码中,它可能如下所示:
procedure TForm1.DbStringGrid1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
var
ScreenRelativePoint: TPoint;
begin
ScreenRelativePoint := (Sender as TControl).ClientToScreen(Point(X, Y));
Application.ActivateHint(ScreenRelativePoint);
end;
Run Code Online (Sandbox Code Playgroud)