Я создаю CMenu в Visual Studio 2010, MFC. У меня есть работающее CMenu, которое появляется, когда пользователь щелкает правой кнопкой мыши в диалоговом окне. Я не могу найти способ создать выбор меню без место для флажка. В дизайнере Visual Studio мое меню выглядит так:
Я хочу удалить область для галочки. В моем приложении мое меню выглядит так:
Есть ли способ убрать эту маленькую коробочку слева от «Изменить вариант»?
Обновить: Не уверен, что это поможет, но это мой код для создания CMenu:
CMenu menu;
VERIFY(menu.LoadMenu(IDR_MENU1));
CMenu* pPopup = menu.GetSubMenu(0);
ASSERT(pPopup != NULL);
CWnd* pWndPopupOwner = this;
while (pWndPopupOwner->GetStyle() & WS_CHILD)
pWndPopupOwner = pWndPopupOwner->GetParent();
pPopup->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, screenPoint.x, screenPoint.y,
pWndPopupOwner);
Для этого вам нужно будет использовать меню для рисования. Во всплывающих меню всегда (по умолчанию) выделяется место для растровых изображений галочек. Собирающийся владелец-розыгрыш позволит вам использовать CMenu::MeasureItem()
а также CMenu::DrawItem()
настроить размер и поведение при рисовании объекта меню в соответствии с вашими потребностями.