我有控制,从CDialogBar继承,它有一些按钮(如在工具栏上)。当我在CDialogBar类中捕获WM_LBUTTONDOWN时,它是一种了解鼠标是否被控件上的其中一个按钮点击的简单方法吗?
答案 0 :(得分:1)
CDialogBar
类通常承载常规窗口控件,因此当单击按钮时,WM_LBUTTONDOWN
消息将发送到此控件窗口,而不是对话窗口类。因此,如果您想拦截这些消息(如果您真的这样做),您需要子类化窗口并处理它们的消息,或者安装消息钩。
您还可以使用Spy++
工具查看哪些消息有效地到达您感兴趣的CDialogBar
窗口,看看处理它们是否可以解决您的挑战。