在 C++ 中更改 MFC 菜单弹出文本
Posted
技术标签:
【中文标题】在 C++ 中更改 MFC 菜单弹出文本【英文标题】:Changing MFC Menu Popup text in C++ 【发布时间】:2019-04-15 01:29:11 【问题描述】:我正在编写一个 MFC C++ 应用程序。我的主窗口中有以下菜单。我正在尝试通过 C++ 更改标题为“&File”的 FIRST POPUP 项目的文本。我该怎么做?
IDR_ISOPROTYPE MENU
BEGIN
POPUP "&File"
BEGIN
POPUP "second"
BEGIN
MENUITEM "third", ID_33280
END
MENUITEM "&Open...\tCtrl+O", ID_FILE_OPEN
MENUITEM "Rever&t", ID_FILE_REVERT
【问题讨论】:
尝试从 CWnd::OnInitMenu 回调中更新菜单项,虽然我不确定它是否被调用用于菜单栏(而不是弹出菜单)。 这能回答你的问题吗? Modifying menu items 【参考方案1】:首先,获取handle to the menu,点赞
HMENU hMenu = GetMenu(AfxGetApp()->m_pMainWnd->GetSafeHwnd());
然后,调用 ModifyMenu 函数
ModifyMenu(hMenu, 0, MF_BYPOSITION | MF_STRING, 0, "New&File");
如果需要修改子菜单的文字,仍然可以使用 ModifyMenu 函数,但使用子菜单句柄
HMENU hSubMenu = GetSubMenu(hMenu, 1);
【讨论】:
您的解决方案对我不起作用。您愿意通过屏幕共享提供帮助吗?我在美国乔治亚州亚特兰大。我可以通过电子邮件联系到 danielgifford@gmail.com。我将在这里发布答案以使大家受益。听说你在法国。对于您的损失,我深表歉意(巴黎圣母院)。 抱歉,我不喜欢通过屏幕共享来解决这个问题——你能详细说明一下Your solution doesn't work for me
吗? [我通常告诉我的程序员永远不要说“不起作用”,而是要解释什么不起作用]以上是关于在 C++ 中更改 MFC 菜单弹出文本的主要内容,如果未能解决你的问题,请参考以下文章
MFC对话框中如何响应弹出式菜单事件 点击按钮 弹出菜单 菜单消息事件响应不了