我正在使用触摸屏和使用内置驱动程序的Windows 7(因为它从来没有促使我安装任何)。它工作正常,除了一个小问题。当我触摸屏幕时,直到我将手指从屏幕上移开,它才会发送WM_LBUTTONDOWN。它似乎这样做,以确定是否打算按住模拟WM_RBUTTONDOWN或不。 (另外,我试图禁用按住模拟手势,但它在实践中从不禁用。)WM_TOUCH不会立即发送与触发事件
所以我想我只会收到WM_TOUCH消息。我发现WM_TOUCH(0x240)也没有发送到我的窗口,直到我将手指从屏幕上移开。我有种想法完全违背了WM_TOUCH的目的。
之前和注册接收,我收到立即三个消息在触摸屏WM_TOUCH消息后:
1. Send: 0x02CC (undocumented tablet messages)
2. Post: 0x011B (undocumented)
3. Send: 0x011A (WM_GESTURENOTIFY)
0x011A是WM_GESTURENOTIFY,其中我的代码是为了回应(也许我没有正确响应? )。我回复标准回复(使用来自MS的示例代码)以接收完整通知。
另一件事,当我注册触摸消息时,我开始获取WM_TOUCH,但我仍然继续获取WM_GESTURENOTIFY消息。根据MS文档,一旦我注册WM_TOUCH,我就不再获取手势消息。
如果有人可以告诉我如何立即获取WM_TOUCH消息(例如,当我收到WM_GESTURENOTIFY消息时),而不是在我让手指离开触摸屏之后,我将非常感激。
这就是我现在要做的。实际上,我使用XP的WM_GESTURE和Win7的WM_TOUCH。这增加了皱纹,但结果非常好。 – user574771