gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 03:53:15 34 4
gpt4 key购买 nike

我正在 Visual Studio 2010、MFC 中创建一个 CMenu。我有一个工作的 CMenu,它会在用户右键单击对话框时出现。我似乎无法找到创建菜单选择的方法没有复选框的位置。在 Visual Studio 的设计器中,我的菜单如下所示:

Checkbox

enter image description here

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

enter image description here

有没有办法删除“更改选项”左侧的这个小框?

更新:不确定这是否有帮助,但这是我创建 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() 根据您的需要自定义菜单对象的大小和绘制行为.

关于c++ - 创建一个没有复选框的弹出式 CMenu,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30198447/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com