按下/释放按钮

时间:2009-07-28 18:07:49

标签: windows winapi visual-c++

我正在开发一个Windows应用程序,它需要单独的事件来推送和释放按钮。按下按钮时,我必须旋转子窗口上的opengl场景。

我想按顺序这样做,这样用户每次想要旋转场景时都不必多次点击按钮。

我已经看到在用户释放鼠标按钮之前不会发送WM_COMMAND ...

谢谢!

4 个答案:

答案 0 :(得分:1)

如果您使用的是Windows API,则可以使用按钮的HWND自行使用DefWndProc跟踪WM_LBUTTONDOWNWM_LBUTTONUP

答案 1 :(得分:1)

您还应该查看windows subclassing上的Win32 API文档。你也可以google“windows subclassing”,你应该能找到很多例子。

答案 2 :(得分:0)

我不是这方面的专家,但我认为你必须看看鼠标按钮向上\向下事件(WM_LBUTTONDOWN,WM_RBUTTONDOWN)你也可能想要跟踪鼠标移动事件,以便鼠标按下按钮鼠标离开按钮行为作为发布。我相信有鼠标离开\输入有用的事件。

答案 3 :(得分:0)

Windows UI的设计使得点击鼠标按钮上的按钮。这允许用户改变主意(即移动到正确的位置并释放按钮)。

这意味着在获得WM_LBUTTONDOWNWM_LBUTTONU之前,您将获得WM_COMMANDBN_CLICKED P。

要在用户点击按钮时执行操作,您需要手动处理WM_LBUTTONDOWN消息。