在 Firemonkey 2 (FMX2) 中有接口
IFMXMouseService = 接口(IInterface)['{2370205F-CF27-4DF6-9B1F-5EBC27271D5A}']
该界面只有一个 GetMousePos 函数。但是如何以跨平台方式设置鼠标位置?有什么想法吗?
我想出的最好的主意是进行有条件的编译,直到 FMX 中存在这种可能性 - 但我不知道如何通过 Delphi 为 MACOSX 设置鼠标位置。如果有任何帮助,我将不胜感激。
在 Firemonkey 2 (FMX2) 中有接口
IFMXMouseService = 接口(IInterface)['{2370205F-CF27-4DF6-9B1F-5EBC27271D5A}']
该界面只有一个 GetMousePos 函数。但是如何以跨平台方式设置鼠标位置?有什么想法吗?
我想出的最好的主意是进行有条件的编译,直到 FMX 中存在这种可能性 - 但我不知道如何通过 Delphi 为 MACOSX 设置鼠标位置。如果有任何帮助,我将不胜感激。
这是您需要的程序。您必须将 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