4

我习惯于使用 Windows 框架,该框架为鼠标单击或鼠标双击等事件提供事件。单击事件是 Windows 构造(即 Windows 是否发送 WM_DOUBLECLICK 或类似消息)还是将 WM_MOUSEDOWN 和 WM_MOUSEUP 发送到应用程序,然后应用程序进行一些数学运算来确定事件是单击还是其他?

4

3 回答 3

8

根据MSDN 文档,您将看到的双击事件消息的正确顺序是 - WM_LBUTTONDOWN、WM_LBUTTONUP、WM_LBUTTONDBLCLK 和 WM_LBUTTONUP

于 2009-10-13T14:00:01.410 回答
1

它是通过 WindowProc() 发送的消息的组合。消息是 WM_LBUTTONDOWN、WM_LBUTTONDBLCLK、WM_LBUTTONUP 用于鼠标左键,WM_MBUTTONDOWN 等用于鼠标中键,WM_RBUTTONDOWN 等用于鼠标右键。有关详细信息,请参阅MSDN上的 Windows SDK 。

于 2009-09-17T18:33:14.167 回答
0

鼠标单击不是 Windows 消息的组合,但它可能导致,具体取决于单击的应用程序。windows 输入和 windows 消息之间存在巨大差异,因为它们只是某些应用程序的工具,以多种不同方式使用,如 MSDN 中所述:

我还提供了一个示例,清楚地显示了我的问题中的差异如何在一个 Windows 客户端上使用多个游标?它显示了通过单击发送了哪些消息,并且 Windows 消息通常不足以模拟鼠标单击,但如果它们是,它们可以如何使用。

于 2014-08-30T09:00:49.020 回答