Является ли щелчок мышью сообщением WM_* или комбинацией сообщений вверх и вниз?

StackOverflow https://stackoverflow.com/questions/1440515

  •  10-07-2019
  •  | 
  •  

Вопрос

Я привык работать с платформой Windows, которая предоставляет события для таких вещей, как щелчок мыши или двойной щелчок мыши.Являются ли события щелчка конструкцией Windows (т. е.Windows отправляет WM_DOUBLECLICK или подобное сообщение) или отправляет WM_MOUSEDOWN и WM_MOUSEUP приложениям, которые затем выполняют некоторые математические вычисления, чтобы решить, было ли это событие щелчком мыши или нет?

Это было полезно?

Решение

Согласно документации MSDN правильный порядок сообщений, которые вы увидите для события двойного щелчка, - WM_LBUTTONDOWN, WM_LBUTTONUP, WM_LBUTTONDBLCLK и WM_LBUTTONUP

Другие советы

Это комбинация сообщений, отправленных через WindowProc (). Это WM_LBUTTONDOWN, WM_LBUTTONDBLCLK, WM_LBUTTONUP для левой кнопки мыши, WM_MBUTTONDOWN и т. Д. Для средней кнопки, WM_RBUTTONDOWN и т. Д. Для правой кнопки мыши. См. Windows SDK по адресу MSDN для получения дополнительной информации. .

Щелчок мышью не является комбинацией сообщений Windows, но может привести к этому в зависимости от приложения, по которому щелкают.Существует огромная разница между вводом Windows и сообщениями Windows, поскольку они являются лишь инструментом для некоторых приложений, используемых по-разному, как описано в MSDN:

Я также привел пример, который ясно показывает разницу в моем вопросе. Как можно использовать несколько курсоров в одном клиенте Windows? Он показывает, какие сообщения отправляются при нажатии и что сообщений Windows часто недостаточно для эмуляции щелчка мыши, но если они есть, то как их можно использовать.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top