创建一个没有复选框的弹出式 CMenu

Creating a popup CMenu without a checkbox

我正在 Visual Studio 2010 中创建一个 CMenu,MFC。我有一个工作的 CMenu,当用户 right-clicks 在对话框中出现时。我似乎无法找到一种方法来创建菜单选择 而没有 复选框的位置。在 Visual Studio 的设计器中,我的菜单是这样的:

我想删除勾选区域。在我的应用程序中,我的菜单如下所示:

有没有办法删除 "Change Option" 左边的这个小方框?

更新: 不确定这是否有帮助,但这是我创建 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);

为此您必须使用自绘菜单。弹出菜单总是(默认情况下)为复选标记位图分配 space。使用所有者绘制将允许您使用 CMenu::MeasureItem()CMenu::DrawItem() 根据您的需要自定义菜单对象的大小和绘制行为。