【发布时间】:2011-04-29 16:26:16
【问题描述】:
自动隐藏在 win32 中是如何实现的?我的应用程序中有一个菜单,我可以用SetMenu( hwndDlg, NULL ) 隐藏它,我可以用SetMenu( hwndDlg, hMenu ) 重新启用它但是我想模仿许多现代应用程序(例如IE9)的行为,其中菜单在您按下之前一直隐藏替代。然后,当主窗口成为焦点时,菜单再次消失。是否有标准的 API 来执行此操作?或者,我可以检查焦点和 Alt 按钮。
在使用 Spy++ 进行一些调查后,我能够显示有关使用 SC_KEYMENU 处理 WM_SYSCOMMAND 的菜单,但仍然不确定要处理什么消息才能使菜单消失。
【问题讨论】: