【发布时间】:2011-02-28 20:40:15
【问题描述】:
谁能告诉我是否有办法捕捉额外的操纵杆按钮?我的意思是按钮编号 5、6、7、8 等等。
我使用此代码来捕获按钮按下事件:
procedure MMJOY1BUTTONDOWN (var LocMessage: TMMJoyStick); message MM_JOy1BUTTONDOWN;
但问题是它只捕获了 4 个标准按钮,而不是任何额外的按钮。
非常感谢
【问题讨论】:
谁能告诉我是否有办法捕捉额外的操纵杆按钮?我的意思是按钮编号 5、6、7、8 等等。
我使用此代码来捕获按钮按下事件:
procedure MMJOY1BUTTONDOWN (var LocMessage: TMMJoyStick); message MM_JOy1BUTTONDOWN;
但问题是它只捕获了 4 个标准按钮,而不是任何额外的按钮。
非常感谢
【问题讨论】:
多媒体操纵杆 API 不支持为按钮 5+ 生成窗口消息,您必须使用 joyGetPosEx() 手动轮询它们的状态。否则,您应该使用 DirectX API 中的DirectInput,因为它取代了旧的 API。
更新: 或者,您可以使用Raw Input API 直接从操纵杆硬件接收事件通知。有关详细信息,请参阅 CodeProject:
【讨论】: