MFC中设计弹出式菜单出现错误,我在MFC中添加了一个单击右键的事件,但是提示我GetSubMenu不接受一个参数

作者&投稿:熊砖 (若有异议请与网页底部的电邮联系)
//好吧,你这样调用没人知道你想调用那个菜单里面的子菜单
//而且你想调用一个参数的GetSubMenu需要使用的是CMenu的成员函数:
//CMenu::GetSubMenu
//CMenu* GetSubMenu( int nPos ) const;
//但是你直接调用了函数,所以他以为你调用的是sdk的函数:
//HMENU GetSubMenu(HMENU hMenu,int nPos);
//所以怎么能调用成功呢
//所以你要让他知道你调用那个菜单的
CMenu *pMenu=NULL;
CMenu *pSubMenu=NULL;
pMenu=GetMenu();
pSubMenu=pMenu->GetSubMenu(0);
//pSubMenu才获得了子菜单
//--------
//而你用popup加载了菜单,所以可以用他来获取子菜单
popup.GetSubMenu(0);
//代码手打,有错指正啊!


popup.GetSubMenu(0);

mfc添加右键菜单,运行时点击右键提示错误~

先确认CMenu *pM = menu.GetSubMenu(0);是否返回NULL
再看看你的菜单资源,是否设置正确:第一项不用,其余都是竖向排列。

在资源视图中添加菜单资源(设id 为IDR_MENU_MANAGE),建立你的弹出菜单并为其添加事件响应程序。
然后在需要弹出菜单的地方

CMenu menu,*pMenu;
menu.LoadMenu(IDR_MENU_MANAGE);
pMenu = menu.GetSubMenu(0);
pMenu->TrackPopupMenu(TPM_LEFTALIGN,pt.x,pt.y,this);

其中,pt是要弹出菜单的左上角坐标点

cad关闭时,总弹出Autocad错误报告
答:这是设置问题,解决办法如下:1、首先,关闭cad时,出现错误报告,如下图所示,然后进入下一步。2、其次,在桌面上找到CAD图标,单击鼠标右键,然后在弹出的菜单中选择[属性],如下图所示,然后进入下一步。3、接着,在弹出窗口中,勾选[以兼容模式运行这个程序],如下图所示,然后进入下一步。4、...

电脑老弹出“当前页面脚本发生错误”这种提示怎么办?
答:1、首先我们打开浏览器,在顶部菜单的“工具”菜单上,单击“Internet 选项”。2、再在“Internet 选项”对话框中,单击“安全”。 选择单击“默认级别”选项。3、然后再次进入浏览器Internet 选项,切换到“程序”选项卡,再点击底部的“管理加载项”选项。4、之后在弹出的管理加载中,将一些可疑的加载...

VB 中弹出式菜单怎么写
答:弹出式菜单名称为: a 写入:Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)If Button = 2 Then PopupMenu aEnd Sub 还可以继续编写子菜单:用MouseUp事件里的 Button参数(1表示左键 2表示右键)建一个菜单 vbFile 子菜单vbRight: (右键点击窗体 ...

电脑应用程序出现错误,该内容不能为read是什么意思?
答:开始菜单-“运行”输入“sfc /scannow”。2、解决:1)如果你安装了XX输入法,将输入法卸载测试,如果想用,找出问题后在重装(这个软件是罪魁祸首,这是和提回者交流中得知的。如果不是这里的问题,看看下面的方法)。将出事前下载的软件、驱动、补丁等全部卸载试试,如果卸载软件无效或不知道安装了...

鼠标右键出现错误,弹出系统故障的菜单错误如图
答:1)如果是开机时出现这个提示,因为开机时正在加载程序,稍等会在操作试试。如果有快播卸载试试,这是很关键的(如果有一定要卸载测试)。按右键出这个问题,也要看你按右键时的环境吧?如果开机时出现的,因为这时后台正在加载程序,稍等会在操作。另外开机按F8不动进入安全模式右键也是这样吗?如果不...

AutoCAD 菜单实用程序已加载。; 错误: 输入的列表有缺陷
答:1、首先在电脑上找到并打开autocad软件,进入页面后在工具栏中,找到文件标签点击打开下拉菜单。2、现在局部加载命令式灰色不可用。其实这是打开图纸时所用的方式错误,应点击打开右侧的下拉小箭头,选择局部打开方式。3、这个时候再点击文件标签下的局部加载命令。4、在弹出的面板中,选择自己想要局部加载的...

photoshop 中 点击“存储为WEB所用格式” 弹出错误提示框:无法完成该...
答:1、打开电脑然后在电脑桌面的左下角的开始菜单,然后鼠标右键点击,找到运行并点击,或者使用快捷键win+r打开cmd窗口;2、之后会出现一个cmd窗口,然后在cmd窗口输入框内输入regedit,然后点击确定选项;3、按路径展开HKEY_CURRENT_USER选项、Software选项、Adobe选项、Photoshop选项、120.0选项;4、然后在...

无法创建最上层子窗口怎么办
答:创建子窗口后,SetWindowPos(m_hWnd,HWND_TOPMOST,GetSystemMetrics(SM_CXSCREEN)-400, 0, 400, 700, 0);或者 CreateEx(WS_EX_TOPMOST,AfxRegisterWndClass(0,AfxGetApp()->LoadStandardCursor(IDC_ARROW),NULL,AfxGetApp()->LoadIcon(MAKEINTRESOURCE(IDI_SPLASHWINDOW))),"加载中……",WS_POPUP,0,0...

win10系统提示关键错误你的开始菜单出现了问题.我们将尝试在你下一次...
答:可以试试以下方法:按 Windows+X 或者右键点击Windows开始按钮,选择“Windows PowerShell(管理员)”。在 PowerShell 里输入 Get-AppXPackage -AllUsers | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register “$($_.InstallLocation)\AppXManifest.xml”} 等待运行完毕,开始菜单应该就能用了。

打开AutoCAD 文件就会弹出致命错误
答:4、在右侧打开的窗口中找到EnableLUA注册表键值就可以了。5、右键点击EnableLUA注册表键值,在弹出菜单中选择“修改”菜单项。6、这时会打开EnableLUA的编辑窗口,在窗口中把数值数据由1修改为0,最后点击确定按钮。重新启动计算机后,再次打开AutoCad就不会再出现致命错误的提示了。