- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我在使用 RMB 上下文菜单时遇到问题,在我的主框架中,我有一个带有 RMB 上下文菜单事件的网格控件。快捷键正确显示。请参阅 Ctrl + C 的复制,Ctrl + V 的粘贴等...
然后我与其他开发人员的一堆代码进行了对话。这个对话框不知何故使 RMB 上下文菜单变得时髦。快捷键不再出现。这可能是由于更改了 PreTransalateMessage 并且某些消息未正确通过或某些 shell 函数可能存在冲突引起的。因为当你注意到窗口时它仍在使用 Windows aero 基本主题,而我使用的是 Windows 10,因为最小化旁边的图钉图标。
这是在大型机和对话框中使用的代码。
void MyDialog::OnContextMenu(CWnd* pWnd, CPoint ptMousePos)
{
CMenu *menuRightClick;
menuRightClick->LoadMenu(IDR_RIGHTCLICK);
CMenu *pPopupVitmMenu;
pPopupVitmMenu = menuRightClick->GetSubMenu(9);
ASSERT(pPopupVitmMenu);
if (pPopupVitmMenu)
{
CPoint point;
::GetCursorPos(&point);
CMFCPopupMenu* pPopupMenu = new CMFCPopupMenu;
CMFCPopupMenu* pPopup = CMFCPopupMenu::GetActiveMenu();
//close already poped up menus, if any.
if (pPopup != NULL)
pPopup->CloseMenu();
pPopupMenu->Create(this, point.x, point.y, pPopupVitmMenu->Detach(), FALSE, TRUE);
pPopupMenu->ShowWindow(SW_SHOW);
}
}
这可能相关或不相关,但当您在另一个区域使用人民币时,旧的上下文菜单不会消失。它只会在您单击应用程序外部(桌面、任务栏)时消失。
我知道信息含糊不清,但我只能提供这些信息。提前致谢!
最佳答案
使用 theApp.GetContextMenuManager()
访问 CContextMenuManager
。其中 theApp
是主要的 CWinApp
类。它应该在初始化期间调用 InitContextMenuManager()
。
CMenu menu;
menu.LoadMenu(IDR_MAINFRAME);
CMenu *popup = menu.GetSubMenu(0);
if(popup)
{
CContextMenuManager *manager = theApp.GetContextMenuManager();
if(manager)
//for CDialogEx:
manager->ShowPopupMenu(popup->Detach(), p.x, p.y, this, TRUE, TRUE, FALSE);
//for CDialog:
//manager->ShowPopupMenu(popup->Detach(), p.x, p.y, this, FALSE, TRUE, FALSE);
}
请注意,CDialogEx
的第 5 个参数应为 TRUE
,CDialog
的第 5 个参数应为 FALSE
关于c++ - CMFCPopupMenu - 右键单击上下文菜单快捷键由于某种原因消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48762337/
我有点困惑。在 : http://delphi.about.com/od/objectpascalide/l/blvkc.htm 它说“Space”的正确键是#20。试过了,但行不通。但是,将其替换为
我有一个 input 的 type="submit" 并且我希望当我点击(右键或左键点击)它时这个元素周围没有蓝色边框。 我在下面的chrome浏览器中添加了OK模式和not OK模式的图片: OK模
我想在右键单击选项卡标题时显示上下文菜单条。 但是,我没有找到检测选项卡标题点击的方法。 有人知道如何做到这一点吗? 最佳答案 Private Sub tab1_MouseClick(sender A
我对编程还很陌生,正在尝试制作扫雷 GUI。游戏完美地右键单击 JToggleButton,在按钮上显示了一个代表炸弹的“B”,但是当我在鼠标监听器中用 setIcon() 替换 setText()
我正在尝试将一个按钮 float 到卡片的右侧。我希望它出现在右下角。 当我正确使用 float 时。它出现在父 div 之外,有没有办法正确定位它?
我正在使用 Struts2 标签和下面的代码使用 JS 计算并检查/验证在文本字段中输入的值。 它还会更新在 textfield 中输入的总数列表,这些由 onblur 处理和 onkeydown事件
我是一名优秀的程序员,十分优秀!