Я работаю с сенсорным экраном и использую встроенные в 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), а не после того, как я отпущу палец от сенсорного экрана, я был бы очень признателен.