首先说一下添加菜单事件:

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菜单事件不响应问题相关推荐

  1. Qt的MDI中多个子窗口响应一个菜单事件的优雅实现(动态slot)

    问题: 用过MFC的人都知道,MDI中,某个菜单或者按钮,在视图中可以添加响应函数,在文档中也可以添加响应函数,在框架中也可以添加它的响应函数,优先级分别是视图.文档.框架,而且MFC自动将消息发给当 ...

  2. 微信公众帐号开发教程第14篇-自定义菜单的创建及菜单事件响应

    微信5.0发布 2013年8月5日,伴随着微信5.0 iPhone版的发布,公众平台也进行了重要的更新,主要包括: 1)运营主体为组织,可选择成为服务号或者订阅号: 2)服务号可以申请自定义菜单: 3 ...

  3. 微信公众帐号开发-自定义菜单的创建及菜单事件响应的实例

    微信开发公众平台自定义菜单需要花钱认证才能实现,不想花钱只能玩测试账号了,不过这并不影响开发.我的开发都是基于柳峰老师的微信公众平台应用开发做的. 只要我们使用公众平台测试账号就可以开发自定义菜单了, ...

  4. 微信公众号开发---自定义菜单的创建及菜单事件响应(java)

    微信5.0发布 2013年8月5日,伴随着微信5.0 iPhone版的发布,公众平台也进行了重要的更新,主要包括: 1)运营主体为组织,可选择成为服务号或者订阅号: 2)服务号可以申请自定义菜单: 3 ...

  5. MFC动态创建控件并响应事件代码实现过程

    MFC动态创建控件以及响应动态创建的控件的事件的实现方法如下. 1.创建对象     用new进行动态创建一个对象.然后调用Create函数创建窗口,在函数的父窗口参数中传入this或者用AfxGet ...

  6. vue、Menu 导航菜单、Menu属性事件、vue Menu 全部导航菜单、vue Menu 全部属性事件

    vue.Menu 导航菜单.Menu属性事件.vue Menu 全部导航菜单.vue Menu 全部属性事件 设计规则 何时使用 代码演示 顶部导航 内嵌菜单 缩起内嵌菜单 只展开当前父级菜单 垂直菜 ...

  7. Android 应用开发(第2章)---如何增加menu菜单

    1.Android studio 增加menu 菜单 新建MenuTest  project文件 1).在res上面右键->New->Android resource directory ...

  8. Android学习笔记--Menu菜单的使用

    实现选项菜单.上下文菜单,以及菜单内部的子菜单. 视图效果: MainActivity 选项菜单 选项菜单的子菜单 上下文菜单(按住按钮或者EditText弹出) 注意:上下文菜单如何弹出?在注册该菜 ...

  9. springboot微信公众号自定义菜单创建及响应

    微信公众号自定义菜单创建及响应 前言 本篇博客是为了速度开发微信公众号而进行讲解,对于深入的原理性讲解推荐去观看微信公众平台的官方文档. 微信公众号分为订阅号,服务号,小程序,本篇主要是介绍的订阅号开 ...

最新文章

  1. 【Ant Design Pro 四】react 点击事件传参
  2. 应用基础计算机一级的题目,计算机应用基础一级模拟题
  3. 两个数组找相同元素_Excel 数组公式全面解析
  4. 使用PIL库将一张小图贴到大图的指定位置
  5. 再见,汉斯·罗斯林,你用数据让宏大的问题变有趣 | 好奇心小数据
  6. mybatis学习(23):分页1 多参数传递(索引方式)
  7. html5 worker的使用场景
  8. docker启动失败Failed to start Docker Application Container Engine.(centos7)
  9. Mocker API 2.7.0 为 REST API 创建模拟 API
  10. 【简历】不带简历就是潇洒?醒醒吧
  11. 向日葵远程软件连接Ubuntu无法显示桌面之解决方案
  12. Java实现观察者模式
  13. OV5640_MIPI_1LEN调试记录
  14. 售前感悟20190905
  15. odi12配置mysql_Oracle Data Integrator 12c 安装(ODI安装)
  16. 计算总成绩和平均成绩
  17. 无盘服务器磁盘缓存,网众无盘教程 教你挂盘设置缓存
  18. 拉普拉斯变换(与傅里叶变换的关系)
  19. [js高手之路] html5 canvas教程 - 绘制七巧板
  20. 苹果二代TWS无线耳机AirPods调研

热门文章

  1. synchronized与ReetrantLock的区别
  2. 报表如何批量导出成 excel 文件
  3. js 中控制打印方向横向还是纵向。
  4. 09-HTML5的多媒体支持
  5. c语言 序列化,序列化和反序列化
  6. 你学会怎样正确地使用CD刻录机了吗?
  7. 苹果应用商店app_一款APP上架苹果应用商店的流程,费用是多少?
  8. 魔域X喜马拉雅:参与配音大PK,赢取千元大奖!
  9. 第七课511遇见易语言大漠找色FindCloer游戏外挂实例
  10. ios::scientific和ios::fixed