Всплывающая подсказка MFC CMenu не отображается

Я попытался использовать что-то подобное, чтобы установить подсказку инструмента CMenu (как описано здесь), но он просто отображается в одной строке, а строка разрыв не отображается.

// read control id
UINT id = menu->GetMenuItemID(1235);
// modify caption and add tooltip?
menu->ModifyMenu( id, MF_BYCOMMAND, id, "Click here\nThis is the tooltip for the menu item ...");

Я также попытался установить подпись непосредственно в редакторе ресурсов visual studio элемента меню с тем же эффектом. Можете ли вы дать мне какие-либо намеки на то, что не так? Я использую VS2008 на окнах 7.

Любая помощь приветствуется!

Ответ 1

Возможно, вы не добавили общие элементы управления Windows XP в ваше приложение.

Попробуйте добавить общие элементы управления к stdafx.h:

#ifdef UNICODE
#if defined _M_IX86
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"")
#elif defined _M_IA64
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='ia64' publicKeyToken='6595b64144ccf1df' language='*'\"")
#elif defined _M_X64
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'\"")
#else
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")
#endif
#endif

Ответ 2

Похож на дубликат

В основном вы должны использовать \r\n вместо\n, потому что это то, что ожидает mfc.