如何获取TWinControl的X,Y位置(相对于屏幕)

Fab*_*mes 13 delphi delphi-2009

我试图在TWinControl中显示自定义提示,但我无法弄清楚如何获得它的位置.

使用位置0,0显示屏幕顶部(窗口外)的提示,所以我猜它必须是屏幕上控件的位置.

编辑:

我找到了TControl Property ClientOrigin,它返回了我的预期,使用ClientOrigin.X和ClientOrigin.Y是否正确?

Bru*_*Gee 41

TControl.ClientToScreen为您提供控件中给定点的屏幕坐标.

lPoint := Panel1.ClientToScreen(Point(0,0));
Label1.Caption := Format('Screen: %d, %d', [lPoint.X, lPoint.Y]);
Run Code Online (Sandbox Code Playgroud)

  • [`Point`](http://www.delphibasics.co.uk/RTL.asp?Name=Point) -- Delphi 有一个非常奇怪的命名全局函数的策略;-) (2认同)