6

在 Firemonkey 2 (FMX2) 中有接口

IFMXMouseService = 接口(IInterface)['{2370205F-CF27-4DF6-9B1F-5EBC27271D5A}']

该界面只有一个 GetMousePos 函数。但是如何以跨平台方式设置鼠标位置?有什么想法吗?

我想出的最好的主意是进行有条件的编译,直到 FMX 中存在这种可能性 - 但我不知道如何通过 Delphi 为 MACOSX 设置鼠标位置。如果有任何帮助,我将不胜感激。

4

1 回答 1

3

这是您需要的程序。您必须将 macapi.coregraphics 和 macapi.cocoatypes 添加到您的 uses 子句中。

procedure setmousepos(x,y:single);

var aNSPoint:NSPoint;

begin
  aNSPoint.x:=x;
  aNSPoint.y:=y;
  CGWarpMouseCursorPosition(aNSPoint);
end;

您当然可以通过 TPointF 代替 X,Y,但您仍然需要分别设置 NSPoint X 和 Y,因为 NSPoint 与 TPointF 不同。

问候

Dave Peters
DP 软件
www.dpsoftware.com/firemonkey

于 2012-11-01T14:55:21.927 回答