Delphi: Как я могу проверить, нажаты ли какие-либо кнопки мыши - ВНЕ события мыши?
У меня есть TDrawGrid, и я хочу обрабатывать нажатие на ячейку и прокручивать ячейки с помощью колеса мыши немного по-другому: при прокрутке с помощью колеса мыши вид должен центрироваться на выбранной ячейке, при простом нажатии на ячейку вид не должен двигаться (потому что это будет сбивать с толку).
Прокрутка колесиком мыши запускает OnSelectCell
событие. Щелчок по ячейке ПЕРВЫЕ пожары OnSelectCell
, с последующим OnMouseDown
, Так что мне нужно выяснить, если OnSelectCell
был вызван щелчком мыши. Самый простой способ сделать это (о чем я могу подумать) - проверить текущее состояние кнопки мыши.
OnSelectCell
не приходит с TMouseButton
или же TShiftState
параметр. Итак, как я могу запросить состояние кнопки мыши?
1 ответ
Использование GetKeyState
прохождение VK_LBUTTON
идентифицировать основную кнопку мыши. Если возвращаемое значение отрицательное, кнопка была выключена, когда система сгенерировала входное сообщение, которое привело к OnSelectCell
Событие запускается.