我并不总是收到 WM_LBUTTONDBLCLK

Jim*_*y J 5 windows events winapi

我正在编写一个使用 WM_LBUTTONDBLCLK 的应用程序(用 C++ 编写)。

一切正常,但我并不总是收到 DBLCLK 消息。我经常收到两条 WM_LBUTTONDOWN 消息。

我查看了鼠标位置 - 它没有移动。

我查看了两个 WM_LBUTTONDOWN 消息之间的时间 - 它完全在 GetDoubleClickTime() 返回的值之内

我为 WM_LBUTTONDOWN、WM_LBUTTONUP 和 WM_LBUTTONDBLCLK 返回 0。

什么会导致这种情况呢?我很困惑。

PS:我尝试过 Windows XP 和 7 - 结果相同。

小智 7

要引发 WM_RBUTTONDBLCLK 和 WM_LBUTTONDBLCLK 情况而不是 2 对按钮向下和向上,您必须在 Windows 样式中 添加CS_DBLCLKS标志。