使用Firemonkey 2(FMX2)以跨平台方式设置鼠标位置

时间:2012-10-28 11:05:49

标签: macos delphi firemonkey

在Firemonkey 2(FMX2)中有界面

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

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

我提出的最好的想法是做一个条件编译,直到FMX中存在可能性 - 但我不知道如何通过Delphi为MACOSX设置鼠标位置。 我会感谢任何帮助。

1 个答案:

答案 0 :(得分: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不同。

此致

戴夫彼得斯 DP软件
www.dpsoftware.com/firemonkey