Bla*_*pel 12 c++ mfc tooltip visual-c++ cmenu
不久前,我尝试在CMenu项目上添加工具提示以进行测试.现在我需要它,我再次遇到同样的问题.
这个问题和答案:
MFC:如何在Cmenu项目中添加工具提示?
对我来说根本没有帮助,因为这种"换行魔术"根本就不起作用.
此外,似乎我不是唯一一个有问题的人: 没有显示MFC CMenu工具提示
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();
}
Run Code Online (Sandbox Code Playgroud)
结果是这样的:

但是,增加文本字母会产生更大的弹出菜单,而不是菜单工具提示.
我已经看到了这个答案中的其他链接,并检查了它们和项目.但这些不是我想要的.
有人知道我做错了什么,或者有其他解决方案/来源可能有用吗?
编辑:正如我之前在评论中提到的,这里是一个示例解决方案,具有重现问题的最低要求.(参见CMenuListCtrl.cpp(100))
使用VS2010和VS2015测试(结果相同).
这是解决你的问题的技巧,“换行魔法”肯定会起作用。
确保您使用的是 ComCtl32.dll 版本 6。
在 stdafx.h 文件中添加以下块并重建您的项目。
#pragma comment(linker, "\"/manifestdependency:type='win32'\
name='Microsoft.Windows.Common-Controls' version='6.0.0.0' \
processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")
Run Code Online (Sandbox Code Playgroud)