gpt4 book ai didi

c++ - 上下文菜单不显示

转载 作者:太空宇宙 更新时间:2023-11-04 11:28:08 24 4
gpt4 key购买 nike

在我的应用程序中,我希望有两个上下文菜单,它们根据单击区域显示在鼠标右键单击时。

第一个是由编译器 (visual studio 2010) IDR_POPUP_EDIT 生成的。我刚刚在那里添加了两个额外的按钮,它就起作用了。第二个我想从头开始创建,所以我准备了 IDR_PGRC 菜单资源,它具有相同的属性和 2 个按钮。如果在框架的右侧单击,idr_popup_edit 应该出现,否则 idr_pgrc。

我敢肯定,每次右键单击框架时都会调用 OnRButtonUp 和 OnCContextMenu 函数,但是,IDR_PGRC 永远不会出现。

这就是我处理显示的上下文菜单的方式:

#ifndef SHARED_HANDLERS
theApp.GetContextMenuManager()->ShowPopupMenu(IDR_POPUP_EDIT, point.x, point.y, this, TRUE);
DEB("ending\n");
#endif

相应地:

#ifndef SHARED_HANDLERS
theApp.GetContextMenuManager()->ShowPopupMenu(IDR_PGRC, point.x, point.y, this, TRUE);
#endif

任何人都可以给我任何提示我可能做错了吗?

最佳答案

如果您自己创建它,您很可能应该将它传递给 HMENU hmenuPopup 而不是资源 ID。

(如果不是这样,请发布用于创建菜单的代码。)

因此,如果您使用 CreatePopupMenu 创建菜单,请将项目添加到其中,然后调用重载的 ShowPopupMenu您可以在其中传递菜单句柄 (CMenu::GetSafeHMenu)。

关于c++ - 上下文菜单不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25894382/

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