【发布时间】:2015-10-12 01:51:36
【问题描述】:
前段时间,我尝试在 CMenu 项目上添加一个工具提示以用于测试目的。现在我需要它,但我又面临同样的问题。
这个问题和答案:
MFC : How to add tooltip in Cmenu items?
根本没有帮助我,因为这种“换行魔法”根本不起作用。
另外,似乎我不是唯一一个遇到问题的人: MFC CMenu tooltip not being displayed
void CTextListCtrl::CreateMenu(void)
{
m_Menu.CreateMenu();
CMenu submenu;
submenu.CreatePopupMenu();
submenu.AppendMenuW(MF_STRING, IDC_RESEND_POPUP, L"&Resend\nShow me the tooltip");
//Other menu items...
m_Menu.AppendMenuW(MF_POPUP, reinterpret_cast<UINT_PTR>(submenu.m_hMenu), L"");
submenu.Detach();
}
结果是这样的:
但是,增加文本的字母会导致弹出菜单更大,而不是菜单工具提示。
我已经看到了这个答案中的其他链接,并检查了它们和项目。但这些都不是我想要的。
有人知道我做错了什么吗,或者是否有其他可能有用的解决方案/来源?
编辑:正如我之前在comment 中提到的,这里是sample solution,具有重现问题的最低要求。 (请参阅 CMenuListCtrl.cpp(100))
用 VS2010 和 VS2015 测试(结果相同)。
【问题讨论】:
-
也许它只是将 \n 替换为 \r\n ,这是 MFC 预期的换行符。
-
@Totonga 不,我试过了,结果一样。
标签: c++ visual-c++ mfc tooltip cmenu