MFC关于Menu菜单事件不响应问题
首先说一下添加菜单事件:
1.资源视图添加Menu 菜单,添加菜单按钮,更改按钮ID ==》ID_LOGOUTDEV;
2.绑定消息响应函数
ON_COMMAND(ID_LOGOUTDEV, &CThermometryDlg::OnLogoutDev)
3.OnLogoutDev() 函数实现。
4.在需要弹出菜单的地方加入如下代码:
CPoint pt;//pt = GetCurrentMessage()->pt; //获取当前鼠标点击消息的坐标点GetCursorPos(&pt);m_Devtree.ScreenToClient(&pt); //将鼠标的屏幕坐标,转换成树形控件的客户区坐标UINT uFlags = 0;HTREEITEM hItem = m_Devtree.HitTest(pt, &uFlags); //然后做点击测试if ((hItem != NULL) && (TVHT_ONITEM & uFlags)) //如果点击的位置是在节点位置上面{m_Devtree.Select(hItem,TVGN_CARET);//设置点击节点为当前选中节点 CMenu menu;menu.LoadMenu(IDR_DELMENU); CMenu* pMenu=menu.GetSubMenu(0);CPoint pos;GetCursorPos(&pos);SetForegroundWindow();pMen->TrackPopupMenu(TPM_LEFTALIGN|TPM_RIGHTBUTTON,pos.x,pos.y,AfxGetMainWnd());PostMessage(WM_NULL,0,0);DestroyMenu(menu);}
即可完成菜单显示;
现在说一下问题:
如此这般完事,点击菜单按钮,却发现按钮事件不响应,断点也进不了。
原因就在于AfxGetMainWnd();这句获取的窗口响应句柄有问题,并不是我们上边写的CThermometryDlg的句柄,所以映射的消息跑到主界面去了,这里改成这样:pMenu->TrackPopupMenu(TPM_LEFTALIGN|TPM_RIGHTBUTTON,pos.x,pos.y,this);即可。
MFC关于Menu菜单事件不响应问题相关推荐
- Qt的MDI中多个子窗口响应一个菜单事件的优雅实现(动态slot)
问题: 用过MFC的人都知道,MDI中,某个菜单或者按钮,在视图中可以添加响应函数,在文档中也可以添加响应函数,在框架中也可以添加它的响应函数,优先级分别是视图.文档.框架,而且MFC自动将消息发给当 ...
- 微信公众帐号开发教程第14篇-自定义菜单的创建及菜单事件响应
微信5.0发布 2013年8月5日,伴随着微信5.0 iPhone版的发布,公众平台也进行了重要的更新,主要包括: 1)运营主体为组织,可选择成为服务号或者订阅号: 2)服务号可以申请自定义菜单: 3 ...
- 微信公众帐号开发-自定义菜单的创建及菜单事件响应的实例
微信开发公众平台自定义菜单需要花钱认证才能实现,不想花钱只能玩测试账号了,不过这并不影响开发.我的开发都是基于柳峰老师的微信公众平台应用开发做的. 只要我们使用公众平台测试账号就可以开发自定义菜单了, ...
- 微信公众号开发---自定义菜单的创建及菜单事件响应(java)
微信5.0发布 2013年8月5日,伴随着微信5.0 iPhone版的发布,公众平台也进行了重要的更新,主要包括: 1)运营主体为组织,可选择成为服务号或者订阅号: 2)服务号可以申请自定义菜单: 3 ...
- MFC动态创建控件并响应事件代码实现过程
MFC动态创建控件以及响应动态创建的控件的事件的实现方法如下. 1.创建对象 用new进行动态创建一个对象.然后调用Create函数创建窗口,在函数的父窗口参数中传入this或者用AfxGet ...
- vue、Menu 导航菜单、Menu属性事件、vue Menu 全部导航菜单、vue Menu 全部属性事件
vue.Menu 导航菜单.Menu属性事件.vue Menu 全部导航菜单.vue Menu 全部属性事件 设计规则 何时使用 代码演示 顶部导航 内嵌菜单 缩起内嵌菜单 只展开当前父级菜单 垂直菜 ...
- Android 应用开发(第2章)---如何增加menu菜单
1.Android studio 增加menu 菜单 新建MenuTest project文件 1).在res上面右键->New->Android resource directory ...
- Android学习笔记--Menu菜单的使用
实现选项菜单.上下文菜单,以及菜单内部的子菜单. 视图效果: MainActivity 选项菜单 选项菜单的子菜单 上下文菜单(按住按钮或者EditText弹出) 注意:上下文菜单如何弹出?在注册该菜 ...
- springboot微信公众号自定义菜单创建及响应
微信公众号自定义菜单创建及响应 前言 本篇博客是为了速度开发微信公众号而进行讲解,对于深入的原理性讲解推荐去观看微信公众平台的官方文档. 微信公众号分为订阅号,服务号,小程序,本篇主要是介绍的订阅号开 ...
最新文章
- 【Ant Design Pro 四】react 点击事件传参
- 应用基础计算机一级的题目,计算机应用基础一级模拟题
- 两个数组找相同元素_Excel 数组公式全面解析
- 使用PIL库将一张小图贴到大图的指定位置
- 再见,汉斯·罗斯林,你用数据让宏大的问题变有趣 | 好奇心小数据
- mybatis学习(23):分页1 多参数传递(索引方式)
- html5 worker的使用场景
- docker启动失败Failed to start Docker Application Container Engine.(centos7)
- Mocker API 2.7.0 为 REST API 创建模拟 API
- 【简历】不带简历就是潇洒?醒醒吧
- 向日葵远程软件连接Ubuntu无法显示桌面之解决方案
- Java实现观察者模式
- OV5640_MIPI_1LEN调试记录
- 售前感悟20190905
- odi12配置mysql_Oracle Data Integrator 12c 安装(ODI安装)
- 计算总成绩和平均成绩
- 无盘服务器磁盘缓存,网众无盘教程 教你挂盘设置缓存
- 拉普拉斯变换(与傅里叶变换的关系)
- [js高手之路] html5 canvas教程 - 绘制七巧板
- 苹果二代TWS无线耳机AirPods调研