Как получить мнемонику в TrackPopupMenu?
У меня есть приложение win32/MFC с контекстным меню, которое я создаю программно:
CPoint pt;
GetMenuPopupPos(&pt);
CAtlString csItem = _T("&Example");
CMenu menu;
menu.CreatePoupMenu();
menu.AppendMenu(MF_STRING, IDM_EXAMPLE_COMMAND, csItem);
menu.TrackPopupMenuEx(TPM_LEFTALIGN|TPM_LEFTBUTTON, pt.x, pt.y, this, NULL);
Я пропустил остальные пункты меню для краткости. Меню работает, включая сочетания клавиш, но проблема в том, что я не вижу подчеркнутые сочетания клавиш в последнем меню.
Это меню имеет одну запись:
пример
Пока жду ввода (где жирный шрифт будет подчеркнут).
Пример
Как мне получить подчеркивания, чтобы показать?
1 ответ
По умолчанию Windows не показывает подчеркивания, когда контекстное меню вызывается с помощью мыши, - только когда оно вызывается с помощью клавиатуры. Вы не можете переопределить это поведение за исключением рисования владельцем меню.
Ваши ярлыки будут отображаться, если пользователь выбрал опцию "клавиши быстрого вызова меню подчеркивания", или если пользователь вызывает контекстное меню с помощью Shift+F10 или клавиши контекстного меню Windows.