2015-05-12 6 views
1

Я создаю CMenu в Visual Studio 2010, MFC. У меня есть рабочий CMenu, который появляется, когда пользователь щелкает правой кнопкой мыши по диалогу. Кажется, я не могу найти способ создать выбор меню без место для флажка. В конструкторе Visual Studio, мое меню выглядит следующим образом:Создание всплывающего CMenu без флажка

Checkbox

enter image description here

Я хочу, чтобы удалить область для галочки. В моем приложении, мое меню выглядит следующим образом:

enter image description here

Есть ли способ, чтобы удалить эту маленькую коробку, слева от «Change Option»?

Update: Не уверен, что это поможет, но это мой код, чтобы создать 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); 

ответ

2

Вы должны будете использовать меню владельцем раздаточный для этого. Всплывающие меню всегда (по умолчанию) имеют пространство, выделенное для растровых изображений галочки. Переход с владельца-владельца позволит вам использовать CMenu::MeasureItem() и CMenu::DrawItem(), чтобы настроить размер и поведение рисунка объекта меню в соответствии с вашими потребностями.