1

我正在尝试将一些代码从 delphi 转换为 firemoneky,但遇到了一些我不确定如何在 firemoneky 中执行的操作。 SetCursorpos

  setcursorpos(p.x,p.y);

关于如何在 firemonkey 中执行此操作的任何想法?

我已经尝试过game.SetCursor(p.x,p.y);
,但它不喜欢它说 setcursor 是未定义的.. 也确实将 fmx.plateform 添加到我的使用列表中。

4

2 回答 2

1

XE2 FMX 源代码中没有调用SetCursorPosWin32 API 函数。从中我得出结论,FMX 框架中没有任何东西封装了该功能。

您需要SetCursorPos直接在您的 Windows FMX 项目中调用。如果您的目标是其他平台,那么您需要为该平台调用适当的 API。

于 2013-08-26T11:24:19.850 回答
0

我发现了一些东西,但它只适用于 Windows: - 你需要制作一个 DATA 模块 - 将它的类型设置为 VCL(这对我来说是可能的,因为我使用的是 delphi XE 10.1) - 将 Windows 单元添加到用途 -像这样在 DataModul 中创建一个过程

`procedure TMouseController.SetCursorPosition(x, y: integer);`
begin
  SetCursorPos(x, y);
end;

end.

- 然后像这样在程序中使用它:

`procedure TMainForm.Form3DShow(Sender: TObject);
var
  Center: TPoint;
begin
  Center.SetLocation(Screen.Width div 2, Screen.Height div 2);
  MouseController.SetCursorPosition(Center.X, Center.Y);
end;`
于 2016-11-20T15:56:50.400 回答