我正在开发一个Windows应用程序,它需要单独的事件来推送和释放按钮。按下按钮时,我必须旋转子窗口上的opengl场景。
我想按顺序这样做,这样用户每次想要旋转场景时都不必多次点击按钮。
我已经看到在用户释放鼠标按钮之前不会发送WM_COMMAND ...
谢谢!
答案 0 :(得分:1)
如果您使用的是Windows API,则可以使用按钮的HWND自行使用DefWndProc跟踪WM_LBUTTONDOWN
和WM_LBUTTONUP
。
答案 1 :(得分:1)
您还应该查看windows subclassing上的Win32 API文档。你也可以google“windows subclassing”,你应该能找到很多例子。
答案 2 :(得分:0)
我不是这方面的专家,但我认为你必须看看鼠标按钮向上\向下事件(WM_LBUTTONDOWN,WM_RBUTTONDOWN)你也可能想要跟踪鼠标移动事件,以便鼠标按下按钮鼠标离开按钮行为作为发布。我相信有鼠标离开\输入有用的事件。
答案 3 :(得分:0)
Windows UI的设计使得点击鼠标按钮上的按钮。这允许用户改变主意(即移动到正确的位置并释放按钮)。
这意味着在获得WM_LBUTTONDOWN
和WM_LBUTTONU
之前,您将获得WM_COMMAND
和BN_CLICKED
P。
要在用户点击按钮时执行操作,您需要手动处理WM_LBUTTONDOWN
消息。