您知道如果在菜单外单击弹出窗口消失,弹出菜单中的内容如何?好吧,我想重现一下。
目前,当点击一个按钮时,我正在创建一个包含某些组件的面板。单击面板上的某个按钮时,面板和子组件会消失。但是,如果你点击面板外的任何地方,我希望它消失。
答案 0 :(得分:2)
我认为您需要安装和应用程序范围的鼠标消息挂钩,如果您的面板可见且鼠标事件的坐标超出了面板边界,则隐藏面板。还要处理表单中的WM_ACTIVATE消息。
[编辑:删除涉及SetCaptureControl()的答案,因为在这种情况下bahaviour不合适]