【发布时间】:2014-06-30 12:48:51
【问题描述】:
如何检测按钮是否被按下(在 C winapi 中)?按钮是指界面的一部分,而不是键盘按钮或鼠标按钮。我将按钮创建为默认按钮,单击后它们仅发送 WM_COMMAND 消息,但是当按钮处于关闭状态时,我还需要获取消息。如何实现?
【问题讨论】:
-
这不太可能做任何事情,因为按钮在释放时会生成通知。你做错的可能性很高。
-
我需要在按钮按下时将某个外部寄存器中的某个位设置为 1,然后在释放按钮时设置为 0,这就是为什么我需要来自按钮的两个通知 - 一个是按下它时,第二个是释放后。
-
@WernerHenze 您听说过 VB 或 C# 中的 MouseDown 事件吗?这是有原因的。 你为什么要知道? .如果你不知道不要评论。
-
对于遇到此问题的任何人,答案是按钮必须具有 BS_OWNERDRAW 样式。在 WM_DRAWITEM 消息中,您检查按钮的状态。