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微信公众号自定义菜单创建及响应
微信公众号自定义菜单创建及响应 前言 本篇博客是为了速度开发微信公众号而进行讲解,对于深入的原理性讲解推荐去观看微信公众平台的官方文档. 微信公众号分为订阅号,服务号,小程序,本篇主要是介绍的订阅号开 ...
最新文章
- 大神整理的python资源大全
- 计算机中的数(一):数在计算机中的表示
- 【CodeForces - 768C】Jon Snow and his Favourite Number(思维,技巧,套路,数学异或,循环节,trick)
- 最近在ST公司的STxp70的dsp平台上开发音频codec模块.
- 自然语言处理——语言模型
- win7 vmware虚拟机 中 mac系统无法上网
- 【渝粤题库】陕西师范大学200021现代汉语 作业(高起本、高起专)
- python解决sip与ptqt不兼容导致页面截图引擎无法运行问题
- window 下 git SERVER 自动部署/生成更新项目 批处理
- 公开SNS社区即时找朋友链的源代码和部署方案(续六)
- Red5java.util.concurrent.RejectedExecutionExceptio
- 常用的渗透测试辅助工具
- 2021计算机二级圆锥题,2021年计算机二级考试真题以及答案
- 接入与身份认证技术概述
- 会让你变得与众不同的22个技巧
- 用计算机制作演示文稿教案博客,信息技术:《制作演示文稿的一般过程》教案...
- 80211协议beacon帧字段解析一
- stm32f746 linux,【STM32F7】STM32F746-Discovery ucLinux预热
- 大班线描机器人_大班美术lbrack;漂亮的机器人rsqb;活动设计
- requests.exceptions.SSLError: HTTPSConnectionPool(host='api.bilibili.com', port=443)