gpt4 book ai didi

windows - CMFCPopupMenu 菜单显示无内容

转载 作者:可可西里 更新时间:2023-11-01 10:47:14 25 4
gpt4 key购买 nike

我正在使用 CMFCPopupMenu 创建右键单击弹出菜单。问题是第一次显示菜单时,只显示带有阴影的菜单框架,但内容是白色的。第二次显示菜单时没有问题。代码如下所示:

  CPoint point;
::GetCursorPos (&point);

CMFCPopupMenu* pop = new CMFCPopupMenu();

pop->InsertItem(CMFCToolBarMenuButton(ID_COMMAND_1,NULL,-1,_T("Command 1")));
pop->InsertItem(CMFCToolBarMenuButton(ID_COMMAND_2,NULL,-1,_T("Command 2")));
pop->InsertItem(CMFCToolBarMenuButton(ID_COMMAND_3,NULL,-1,_T("Command 3")));
pop->InsertItem(CMFCToolBarMenuButton(ID_COMMAND_4,NULL,-1,_T("Command 4")));

pop->Create(this,point.x,point.y,NULL,0,true);

父类基于CDialogEx。

谢谢。

最佳答案

我不明白为什么我的方法不起作用,但我通过在资源中定义菜单找到了绕过它的方法,并且这样做:

  CMenu menu;
menu.LoadMenu(IDR_SESSION_MENU);
HMENU hMenu = menu.GetSubMenu (0)->Detach ();

CMFCPopupMenu* pMenu = theApp.GetContextMenuManager()->ShowPopupMenu(hMenu, point.x, point.y, this, TRUE);

这行得通,唯一的问题是拥有一个根据状态和选择而定的动态条目的菜单有点复杂。

关于windows - CMFCPopupMenu 菜单显示无内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18645387/

25 4 0