2010-07-20 2 views
2

Я пишу приложение (на C++), которое использует WM_LBUTTONDBLCLK.Я не всегда получаю WM_LBUTTONDBLCLK

Все работает отлично, но я не всегда получаю сообщение DBLCLK. Довольно часто я получаю два сообщения WM_LBUTTONDOWN.

Я посмотрел на положение мыши - он не двигается.

Я посмотрел на время между двумя WM_LBUTTONDOWN сообщениями - это хорошо в пределах стоимости возвращенного GetDoubleClickTime()

Я возвращающей 0 для WM_LBUTTONDOWN, WM_LBUTTONUP и WM_LBUTTONDBLCLK.

Что может вызвать это? Я в тупике.

PS: Я пробовал Windows XP и 7 - тот же результат.

+1

В вашем окне есть стиль CS_DBLCLKS? –

ответ

4

Чтобы спровоцировать случаи WM_RBUTTONDBLCLK и WM_LBUTTONDBLCLK вместо двух пар buttondown и ups, вы должны добавить флаг CS_DBLCLKS в свой стиль Windows.

Смежные вопросы