如何为多个鼠标显示另一个光标?
我有两个 TMemo、两个可以输入各自 TMemo 的键盘、2 个鼠标,我需要 2 个光标。
如果假设的话,我已经可以检测出哪只鼠标是哪只了。我怎样才能让我自己的光标跟着它一起走。 (使用德尔福) 可能类似于Multipoint
作为替代方案,是否有任何软件可以渲染多个光标。喜欢CPNMouse ?
编辑: 我发现我可以在windows中使用mouse_event函数,但是我仍然没有光标的可视化表示。
最佳答案
游标只是资源。这是 standard cursors 的一个很好的列表可以使用。 TControl 定义一个光标属性,可以将其设置为在给定控件上时应使用的光标。您还可以使用 Screen.Cursor 来控制整个应用程序光标。
要定义自定义光标,请使用以下代码。
{$R MyCustomCursors.RES}
const
crCustom1 = 1;
crCustom2 = 2;
...
Screen.Cursors[crCustom1] := LoadCursor(hInstance, 'CUSTOM1');
Screen.Cursors[crCustom2] := LoadCursor(hInstance, 'CUSTOM2');
...
默认情况下,Delphi 并非设计用于处理多个鼠标指针,但我怀疑大多数环境并非如此。您提到的 SDK 是我见过的关于在单个应用程序中同时使用多个鼠标的唯一信息来源。然而它只是 .NET,因此使用它需要 Delphi Prism。
如果您想自己支持多个鼠标,可以使用使用 WM_INPUT 的相同技巧。 Windows 会将两只鼠标视为相同的。您必须为第二个鼠标手动自定义鼠标光标的绘制。
关于windows - 多个鼠标/鼠标/光标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3089851/