前一段时间,我试图在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测试(结果相同)。
最佳答案
这里的技巧可以解决您的问题,“换行符”肯定会起作用。
确保您使用的是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='*'\"")