MFC 菜单 menu

2023-11-09

       在网上看了怎样制作一个菜单,往往说的内容很多,但自己还是没看懂,今天看了一个公司前人写的一个程序,原来这么简单。给大家分享一下。

       就用一个基于对话框的MFC程序为例吧。

       首先,新建一个菜单。点击resource---Dialog,右击insert---menu,然后对菜单添加想要的内容。

       然后,右击View--classwizen在XXXDlg类中,为刚才添加的菜单项,逐一添加消息响应函数。如为设置菜单项,添加消息响应。

      void CTempDlg::OnSet()
     {
         // TODO: Add your command handler code here
          AfxMessageBox("set");
     }

      下面,我们在对话框中添加一个按钮button1,添加消息响应函数。实现当点击按钮,弹出菜单项

    void CTempDlg::OnButton1()
{
 // TODO: Add your control notification handler code here
 CMenu menu;
 CMenu *popup=NULL;
 CPoint pt;                           //获取鼠标的位置
 GetCursorPos(&pt);
 menu.LoadMenu(IDR_MENU1);//装载菜单

 menu.EnableMenuItem(IDC_SHOW,MF_DISABLED|MF_GRAYED);//将菜单项,设为灰色,不可用
 popup=menu.GetSubMenu(0);//选择第一个,如果有多个的话
 popup->TrackPopupMenu(TPM_LEFTALIGN,pt.x,pt.y,this);//弹出菜单,第一个为左右上下等,第二个为鼠标的位置
}

当然,你也可以对菜单进行修改、增加、删除等操作,比如修改

menu.ModifyMenu(IDM_SHOW,MF_BYCOMMAND|MF_ENABLED,IDM_CTRL_SELECT_CON,"修改");

       这种用法,对于我们日常使用来讲是足够了,而且方便简单。


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MFC 菜单 menu 的相关文章

  • 如何将命名管道字符串从非托管代码空间发送到托管代码空间?

    我似乎遇到了命名管道 101 问题 我有一个非常简单的设置来连接从 C 非托管应用程序传输到 C 托管应用程序的单工命名管道 管道已连接 但我无法通过管道发送 消息 除非我关闭似乎刷新缓冲区并传递消息的句柄 就好像消息被屏蔽了一样 我尝试颠
  • 如何通过MFC将应用程序设置保存到注册表中?

    我有一个由 MFC 项目向导创建的 MFC 应用程序 我想在注册表中保存 读取应用程序设置 所以问了这个question https stackoverflow com questions 1880275 good c registry w
  • 屏幕截图忽略了一些窗口

    我正在 MFC 中工作 我正在尝试捕获桌面的 bmp 我正在使用 GetDC NULL 来执行此操作 但它似乎忽略了特殊的皮肤窗口 它似乎忽略了用 UpdateLayeredWindow 绘制的窗口 此行为似乎仅发生在 Vista x64
  • 如何以编程方式将访问键(快捷方式)添加到 WPF ContextMenu?

    我已经有以下内容 var myContextMenu new System Windows Controls ContextMenu var exitItem new MenuItem exitItem Header E xit exitI
  • 如何在 MFC 中调整对话框大小时移动控件?

    我已经在 MFC 中创建了对话框视图 从下图中可以清楚地看到 如滑块控件和编辑框等 当我调整对话框大小时 这些控件不会移动 在此输入图像描述 https i stack imgur com 7OxAK jpg 我想移动控件以适应对话框 但不
  • 在应用程序的所有活动中重用操作栏

    我创建了一个 MenuActivity 它有一个操作栏和一个拆分操作栏 我想将此操作栏和 splitactionbar 视图用于我的应用程序中的所有活动 我是 android 的新手 所以有人可以逐步指导我 另外 我试图将搜索图标放在操作栏
  • Drupal 6 无法构建菜单路由器和链接

    当我在 Drupal 中启用新菜单 例如 mymodule 时 Drupal 应该能够从 mymodule menu hook menu 获取菜单项 处理这些菜单项并将菜单项插入到 menu router 和 menu links 表中 然
  • Tkinter 菜单删除项

    如何删除任何菜单项 例如我想删除 播放 self menubar Menu self root self root config menu self menubar self filemenu2 Menu self menubar self
  • Google 地图删除标记路线上下文菜单

    我使用 Android Studio 的 Google 地图模板启动了一个新项目 并在地图上添加了一个标记 LatLng location new LatLng lat lng Marker marker mMap addMarker ne
  • 为什么#pragma optimize("", off)

    我正在审查一个 C MFC 项目 在某些文件的开头有这样一行 pragma optimize off 我知道这会关闭所有以下功能的优化 但这样做的动机通常是什么 我专门使用它来在一组特定代码中获得更好的调试信息 并在优化的情况下编译应用程序
  • 用于基于 MFC 的 GUI 应用程序的免费自动化测试工具

    我是 Windows 开发和测试平台的新手 我正在开发一个基于 MFC 的 GUI 应用程序 并正在寻找有助于 UI 自动化测试的工具 我搜索时出现了一大堆工具 但大多数似乎都不支持MFC 我考虑的选项是 A 编码 UI UI 自动化 看起
  • 如何在 tvOS 中将焦点从一个按钮移动到另一个按钮?

    我是 tvOS 的新手 我想要一个标准按钮 一旦按下 它将焦点移动到另一个标准按钮 我该怎么做 当然如果可能的话 首先覆盖preferredFocusedView在你的 viewController 中使用自定义属性 var myPrefe
  • 响应式菜单:悬停子菜单显示错误

    简而言之 我根据教程创建了一个响应式菜单 当您将鼠标悬停在投资组合按钮上时 菜单应该显示子菜单 而在移动模式下 您需要按该按钮才能显示子菜单 效果很好 问题是该教程有一个错误 如果您在桌面模式下按组合按钮 子菜单将不会再次显示 除非您按 单
  • 在 jFrame 中启用右键单击

    嘿 我正在寻找如何使用 NetBeans 在 jFrame 中启用 仅且仅 右键单击并显示弹出菜单 使用我的代码 private void formMouseClicked java awt event MouseEvent evt pop
  • 如何突出显示 Vuetify 菜单中的所选项目?

    我的侧边栏中有一个菜单 使用 vue router
  • MFC CImage alpha 混合出错

    我必须在图片控件上呈现由两个 PNG 文件组成的图像 其中顶部图像在某些位置具有透明像素 结果应该是plotter png 与 bar png 顶部重叠显示为 注意条上奇怪的白色轮廓 但应该是 我为它编写的代码很简单 CImage imag
  • eclipse.ui.menus 的名称过滤器

    我有一个菜单贡献 通过实现org eclipse ui menus扩展点 我想仅为特定文件扩展名 例如 pld 提供此菜单贡献 但我不知道如何使用 visibleWhen 来做到这一点 有任何想法吗 更新 到目前为止我的扩展点
  • WPF (MVVM) 菜单中的互斥(且可绑定)复选框

    我试图找到一个在 WPF MVVM 应用程序的菜单中使用复选框的示例 该应用程序可以绑定到底层 ViewModel 类中的枚举 我有一个简单的例子 public class MyViewModel public MyViewModel co
  • JFrame 中的 JavaFX 菜单

    我想在 JFrame 中使用 JavaFX 菜单 我使用 JFXPanel 嵌入它 并且它在 JFrame 中可见 但是 问题是 菜单项不响应鼠标 我可以单击菜单 但不能单击菜单项 如果我使用键盘选择 MenuItem 并按 Enter 键
  • 单击导航项锚链接时如何关闭切换菜单

    请看我的FIDDLE http jsfiddle net ayhpp8ax 我有一个带有 响应式 导航菜单 带有指向页面上元素的锚链接 的 1 页网站 当浏览器视口小于特定宽度 在我的情况下为 767px 时 使用此 javascript

随机推荐

  • DirectX 9.0c游戏开发手记之“龙书”第二版学习笔记之1: 开场白

    在开场白之前的说明 这是 DirectX 9 0c游戏开发手记 的第一部分 叫做 龙书 第二版学习笔记 讲的是我做 龙书 第二版 原名Introduction to 3D GameProgramming with DirectX 9 0c
  • 浅析单向tvs管和双向tvs管的对比,谁能更胜一筹

    瞬态抑制二极管 TransientVoltageSuppressor 简称TVS管 是一种二极管形式的高效能保护器件 当TVS管的两极受到反向瞬态高能量冲击时 它能以10的负12次方秒量级的速度 将其两极间的高阻抗变为低阻抗 吸收高达数千瓦
  • C高级笔记总结

    GCC 1 gcc 组件 1 分析器 分析语法结构 将C语言编译汇编语言 s 2 汇编器 将汇编代码编译成二进制文件 3 链接器 链接目标文件以及库文件 生成可执行代码 4 标准C库 提供核心的C库函数 scanf printf 2 gcc
  • mysql服务无法启动解决办法

    第一步先查看是不是端口号被占用 netstat aon findstr 3306 33060是mysql8 0 版本的扩展端口 果然被占用 强制终止进程 强制终止进程 11536 taskkill F pid 11536
  • Eastmount博客导读:专栏系统分类和博客归纳总结

    为了更好地帮助博友学习作者的博客 方便作者自己归纳总结专栏 本文详细介绍了作者八年来 在CSDN写的各种专栏 各种系列文章 八年来 作者经历了从本科到硕士 到贵州教书成家 再到现在的博士 八年来 作者学得很杂很宽 绝大多数专栏都是从零学起
  • Broken pipe产生原因分析

    一 Broken pipe产生原因分析 1 当访问某个服务突然服务器挂了 就会产生Broken pipe 2 客户端读取超时关闭了连接 这时服务器往客户端再写数据就发生了broken pipe异常 二 方案 1 问题一分析服务器为什么挂了
  • 可充电电池安规认证标准、GB 9706.1-2020对医用电气设备中电池的要求

    目录 可充电电池 安规认证标准 IEC 62133 标准主要包含以下项目的测试及验证 在这些测试及验证项目中 大部分均是常见的常规测试项目 但仍有部分项目值得留意及关注 UN38 3运输认证 UN38 3测试项目 GB 9706 1 202
  • mybatis 动态表名insert 传入表名、字段名、数据

    mybatis 动态insert 传入表名 字段名 数据 主要是实现不同的表名进行插入然后进行操作 可以使用MybatisPlus自带的过滤器进行配置 MybatisPlusConfig 测试方法如下 RunWith SpringRunne
  • 关于vue 引入两个版本echarts的坑。

    项目开发中 前端非要使用echarts3 0版本 我的业务又有地图需要显示 吐槽一下后端开发招进来变前端 一开始是引用了5 0版本的js文件 后来踩了很多坑就改成引用别名 控制台输入 npm i echarts5 npm echarts 5
  • .natvis的文件来问题总结 .natvis的文件来

    VS调试STL问题总结 C Program Files x86 Microsoft Visual Studio 2017 Community Common7 Packages Debugger Visualizers https www c
  • python实现Word2Vec+哈夫曼树+skip-gram

    阅读这篇之前如果对于层次softmax不清楚可以先看看http 124 222 190 191 8090 archives word2vec zhong de ha fu man shu 再来阅读代码 你将会有意外收获 1 数据集 百度云网
  • [Qt Quick] No rule to make target问题解决办法

    问题描述 修改项目中资源的qml文件名或删除无用资源文件后 重新构建项目时 会出现类似如下的问题提示 No rule to make target aaa needed by bbb Stop 使用快捷键 Alt 4 定位到编译输出窗口 可
  • 【IAP】IAP在线升级流程

    IAP 全称是 In Application Programming 中文解释为 在程序中编程 不同于ISP通过设置MCU内部的BootLoader程序引导烧写或者是ICP通过SWD JTAG在线仿真烧写 IAP是一种对通过微控制器的对外接
  • Java高并发之锁总结、常见的面试问题

    1 锁的分类 乐观锁与悲观锁 悲观锁 对共享数据进行访问时 悲观锁总是认为一定会有其他线程修改数据 如果不加锁 肯定会出问题 因此 悲观锁无论是否出现共享数据的争用 在访问数据时都会先加锁 Java中同步互斥都是采用这种悲观的并发策略 sy
  • HTTP协议接口

    主要特点 1 支持客户端 服务器模式 客户端向服务器请求服务时 只需传送请求方法和路径 常见的请求方法有GET POST 2 简单 3 灵活 HTTP允许传输任意类型的数据对象 正在传输的类型由ContentType加以标记 4 无连接 限
  • 「高并发业务必读」深入剖析 Java 并发包中的锁机制

    故事 程序员小张 刚毕业 参加工作1年左右 日常工作是CRUD 架构师老李 多个大型项目经验 精通各种屠龙宝术 小张和老李一起工作已有数月 双方在技术上也有了很多的交流 但是却总是存在一些争议 这一天 在公司年会上 他们两个意外地坐到了同桌
  • 单链表按照指定顺序插入节点(思路分析) [数据结构][Java]

    单链表按照特定顺序插入节点 思路分析 这里我们要实现在自定义的英雄链表中添加英雄时 根据排名将英雄插入到指定位置 如果有链表中已经有这个排名了 那么就添加失败 并且给出提示 思路分析 首先找到待添加结点位置的前一个位置 涉及到遍历 所以是通
  • python中导入TXT时,使用split()分割文本时,出现错误ValueError: not enough values to unpack (expected 2, got 1)

    Python中使用str split 时 一般都会有两个参数 比如 role words str split 1 注意split的 它必须和str中的冒号 str中必须有冒号 否则就会报错 都是同一种冒号 要么是英文半角 要么是中文冒号 如
  • easyx图形库-----贴图技巧之透明贴图与位运算(与运算、或运算、异或运算)

    目录 位运算 1 与运算 2 或运算 3 异或运算 2 图形库颜色位运算与透明贴图实现 相关操作码 透明贴图的实现 我们都知道电脑的系统处理方式都是以二进制去处理的 每一个数据的背后都是二进制数字0跟1表示 那么这一期我就来介绍怎么去利用二
  • MFC 菜单 menu

    在网上看了怎样制作一个菜单 往往说的内容很多 但自己还是没看懂 今天看了一个公司前人写的一个程序 原来这么简单 给大家分享一下 就用一个基于对话框的MFC程序为例吧 首先 新建一个菜单 点击resource Dialog 右击insert