【发布时间】:2011-10-10 22:09:48
【问题描述】:
我正在为我的应用程序使用常见的 Windows 控件,例如“按钮”和“编辑”。在某些情况下我想禁用组件,所以我使用EnableWindow 函数使组件看起来被禁用并且不接收事件。
然而,问题在于被禁用的组件不仅会阻止鼠标点击事件 - 而是将它们传递给它下面的组件。有什么办法可以防止鼠标点击事件通过禁用的组件?或者,一种简单的方法来检查这种情况并丢弃这些事件?
我想在顶部制作透明的窗户,但对于看起来如此微不足道的东西来说,这听起来有点太复杂了。我还考虑在接受事件之前对每个容器的子级鼠标坐标进行命中测试。 有没有更好的办法?我的 WndProc 中已经有一个自定义区域(我对按钮类进行了子类化)来捕获鼠标按钮事件(如果有帮助的话)。
提前致谢!
【问题讨论】:
标签: windows winapi mouse mouseevent