windows-7 – WM_TOUCH不会立即发送触地事件
我正在使用触摸屏并使用
Windows 7内置驱动程序(因为它从未促使我安装任何).它工作正常,除了一个小问题.当我触摸屏幕时,它不会发送WM_LBUTTONDOWN,直到我将手指从屏幕上移开.它似乎这样做是为了确定我是否打算按住以模拟WM_RBUTTONDOWN. (另外,我试图禁用按住模拟手势,但它在实践中从不禁用.)
所以我想我会收到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消息时),而不是在我的手指离开触摸屏之后,我会非常感激. 解决方法
查看有关触摸事件的本教程:
http://msdn.microsoft.com/en-us/gg464991 你想要使用的是RegisterTouchWindow函数,如下: RegisterTouchWindow(handle,0); Windows现在将WM_TOUCH消息而不是WM_GESTURE消息发送到您的窗口.请记住,您必须针对Windows SDK 7.0或更高版本进行编译才能实现此目的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |