Подсказка MFC CMenu не отображается - PullRequest
11 голосов
/ 07 июля 2011

Я пытался использовать что-то подобное для установки всплывающей подсказки элемента 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 на Windows 7.

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

Ответы [ 2 ]

1 голос
/ 17 августа 2015

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

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

1 голос
/ 18 октября 2011

Возможно, вы не добавили общие элементы управления 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
...