6

Firemonkey 2 (FMX2) にはインターフェースがあります

IFMXMouseService = インターフェイス (IInterface) ['{2370205F-CF27-4DF6-9B1F-5EBC27271D5A}']

インターフェイスには GetMousePos 関数しかありません。しかし、クロスプラットフォームの方法でマウス位置を設定するにはどうすればよいですか? アイデアはありますか?

私が思いついた最良のアイデアは、FMX に可能性が存在するまで条件付きでコンパイルすることですが、MACOSX の Delphi を介してマウス位置を設定する方法がわかりません。どんな助けにも感謝します。

4

1 に答える 1

3

必要な手続きはこちら。uses 句に macapi.coregraphics と macapi.cocoatypes を追加する必要があります。

procedure setmousepos(x,y:single);

var aNSPoint:NSPoint;

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

もちろん、X,Y の代わりに TPointF を渡すこともできますが、NSPoint は TPointF とは異なるため、NSPoint X と Y を別々に設定する必要があります。

よろしく

Dave Peters
DP ソフトウェア
www.dpsoftware.com/firemonkey

于 2012-11-01T14:55:21.927 に答える