在 Windows 和 C++ 中延迟子菜单的填充
我有一个基于 C++ MFC CMenu 的上下文菜单对象,它有多个菜单项,其中一个菜单项是弹出菜单(即有一个子菜单)。填充子菜单是一个耗时的过程,因此我不想在用户单击它之前实际填充它。
如何检测子菜单的显示,以便只能在用户单击它时填充它?
我正在使用 TrackPopupMenu 向用户显示菜单。
I have an C++ MFC CMenu based context menu object that has several menu items and one menu item is a popup menu (ie has a sub menu). Populating the sub menu is a time intensive process so I don't want to actually populate it until the user clicks on it.
How do I detect the display of the sub menu so I can only populate it when the user clicks on it?
I'm using TrackPopupMenu to display the menu to the user.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您需要WM_INITMENUPOPUP。
You want WM_INITMENUPOPUP.
您可以在窗口中捕获 WM_CONTEXTMENU 消息。然后您可以做任何您喜欢的事情来响应该消息。
You can catch the WM_CONTEXTMENU message in the window. Then you can do whatever you like in response to that message.