对话框中的菜单命令更新处理程序
Posted
技术标签:
【中文标题】对话框中的菜单命令更新处理程序【英文标题】:Menu Command Update Handlers in Dialog Boxes 【发布时间】:2011-09-11 00:23:51 【问题描述】:我有一个基于对话框的 MFC 应用程序。我的对话框有一个菜单,我使用here 描述的技术在对话框中启用菜单加速器。
这很好用,但我似乎找不到任何方法来实现菜单命令更新处理程序。或者,更确切地说,我已经实现了更新处理程序,但似乎找不到让 MFC 调用它们的好方法。
在网上搜索,我发现了像 UpdateDialogControls()
这样的函数来实现对话框子控件的命令更新处理程序。但我想对对话框菜单中的命令执行此操作。
有什么建议吗?
【问题讨论】:
【参考方案1】:我不太喜欢 MFC,我使用的是普通的 win32,但这看起来像你需要的 The ON_UPDATE_COMMAND_UI Macro。如果您查看左侧导航菜单,您还可以找到“何时调用更新处理程序”主题。
并确保在将句柄传递给窗口的任何地方,实际上都是在将句柄传递给带有菜单的对话框(例如教程中的清单 3)。
【讨论】:
是的,我定义了一个ON_UPDATE_COMMAND_UI()
宏。但 MFC 不会自动在对话框中使用它。以上是关于对话框中的菜单命令更新处理程序的主要内容,如果未能解决你的问题,请参考以下文章
新建一个MFC单文档程序含有菜单和工具栏,又建了一个对话框,如何直接显示对话框?