CMenu 菜单操作

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

一. 方法1: 直接添加菜单资源到对话框资源


首先你先在资源视图中添加并创建一个菜单的资源,然后打开对话框,在MENU中选择你创建的菜单的ID,运行程序,当你打开该对话框时就可以发现你的菜单出现在对话框中。





二. 方法2: 代码直接添加菜单资源


在CTestDialog类声名中添加成员变量CMenu m_menu
再在CTestDialog::OnInitDialog() 中添加如下代码:
// 加载菜单资源
m_menu.LoadMenu(IDR_MENU1);
// 设置当前菜单
SetMenu(&m_menu);
// 当你不需要菜单时可以用 
SetMenu(NULL); // 来取消当前菜单


三. 方法3: 代码生成菜单, 代码直接添加菜单


例如要产生如下的菜单


 

1. 菜单说明

这里有A, B, C, D共4个菜单; 其中B是A.2的子菜单, C是B.2的子菜单, D是A.6的子菜单.


VC MFC菜单栏(CMenu)控件 一个API函数SetMenuInfo,这个函数可以设置菜单重绘时选择的填充画刷类型,该函数有两个参数,第一个是要设置的菜单句柄,第二个是一个MENUINFO结构指针,我们只要了解这结构里有一个成员hbrBack就行了,hbrBack是一个画刷句柄,而菜单背景位图就通过创建位图画刷来实现的。//调用CNewMenu类的MeasureItem成员函数。nPostion指明具体要设置的菜单项,可以是菜单项索引,菜单项ID,具体由nFlags参数指明,为MF_BYPOSITION,则以菜单项索引指明, 阅读详情

相关推荐

孙鑫VC++深入详解:Lesson6 Part4 ---CMenu 类的应用:添加子菜单项AppendMenu,插入子菜单项InsertMenu,删除菜单DeleteMenu

CMenu 类的应用 添加子菜单项AppendMenu,插入子菜单项InsertMenu,删除菜单DeleteMenu // //------ 追加菜单,在已菜单后面追加一个子菜单 用函数CMenu::AppendMenu  CMenu::AppendMenu  BOOL AppendMenu( UINT nFlags, UINT nIDNewItem = 0, LPCTSTR lps

-----------------------------不要在跟自己无关的事情上浪费时间 1万+

CMenu自绘实现

菜单自绘的实现,以此为基础,开发满足自己需求的各种功能的菜单

CMenu的使用

https://blog.csdn.net/t15281180631/article/details/81270522 一、创建基于对话框的应用程序框架 1.选择菜单项文件->新建->项目,弹出“新建项目”对话框。 2.直接选择“MFC应用程序”或左侧面板中模板的Visual C++下选择MFC,中间窗口中选择MFC应用程序,然后在下面编辑框中键入工程...

qq_38611124的博客 540

自绘/重绘MFC右键菜单CMenu

自绘/重绘MFC右键菜单CMenu

CMenu(弹出式菜单

CMenu(弹出式菜单

路楷的专栏 4940

MFC菜单栏(CMenu)控件

1.设置菜单左边显示位图和背景位图 CMenu类里要了解的函数 SetMenuItemBitmaps//设置菜单项左边的位图 函数定义:BOOL SetMenuItemBitmaps( UINT nPosition, UINT nFlags, const CBitmap* pBmpUnchecked, const CBitmap* pBmpChecked ); nPostion

lanmeng_smile的专栏 5895

MFC---菜单资源详解及CMenu类(菜单、工具栏与状态栏)

上一节讲了标签控件Tab Control以后,常用控件的内容就全部讲完了,当然并没有包括所有控件,主要是一些很常用很重要的控件。本节开始将为大家讲解菜单的概念及使用。菜单简介菜单在界面设计中是经常使用的一种元素,包括Windows系统中的窗口、智能终端设备的应用界面等都会经常见到菜单的身影。我们在对可视化窗口操作时,菜单确...

weixin_40523030的博客 793

MFC基于对话框上插入MENU菜单栏并点击菜单弹出新窗口

本文介绍了使用MFC创建基于对话框应用程序的步骤:1)通过向导创建对话框框架;2)添加菜单资源并加载到对话框;3)实现菜单按钮弹出新窗口功能。具体包括:创建MFC对话框项目、添加菜单栏、为菜单项设置事件处理程序、添加新对话框类,并通过DoModal()方法实现窗口弹出。教程配有详细截图,适合MFC初学者学习基础界面开发。

BackCatK Chen的博客 4万+

CMenu-关于菜单的销毁操作

今天扫了下CMenu的MSDN和源代码,真好啊它是从CObject继承下来的。这里仅说下菜单销毁时要注意的地方。 其实在堆中还是栈中使用CMenu不是重点要注意的地方,我们要清楚的是CMenu对象超出作用域时会默默执行什么操作以及应用的场合。 所以当然要先看下析构函数: _AFXWIN_INLINE CMenu::~CMenu()  { DestroyMenu(); } BOOL CMe

yj13sunshine的专栏 1617

zz:VC CMenu / 菜单操作

实现右键菜单时,需要实现单选项,查msdn没能解决,只好求助网络。 ZZ from:http://blog.sina.com.cn/s/blog_4c1934d5010009k7.html 1. 取消右键系统菜单在PreCreateWindow函数中改变设置样式:cs.style&=~WS_SYSMENUCREATESTRUCT的具体结构如下:typedef s

jtujtujtu的专栏 2687

CMenu简单操作

1。CMenu::CheckMenuItemUINT CheckMenuItem(   UINT nIDCheckItem,   UINT nCheck );添加或者去掉选中标记nCheck:MF_CHECKED or MF_UNCHECKED with MF_BYPOSITION or MF_BYCOMMAND nIDCheckItem:如果nCheck为MF_BYCOMMAND,则这为ID,如

3102

cmenu:轻量级菜单工具,优化终端操作,提升工作效率

在软件开发中,我们常常会遇到需要频繁切换上下文、执行重复命令的情况,这不仅降低了效率,也影响了工作体验。cmenu 作为一个轻量级的自定义菜单工具

2509_93883384的博客 416

VS2019MFC编程入门:菜单CMenu类的使用

在上一节中讲的是VS2010的菜单资源,本节主要讲菜单CMenu类的使用。 在内容开始前为大家介绍一款MFC界面开发控件: Xtreme Toolkit Pro:是屡获殊荣的VC界面库,是MFC开发中最全面界面控件套包,它提供了Windows开发所需要的11种主流的Visual C++ MFC控件,包括Command Bars、Controls、Chart Pro、Calendar、Docking Pane、Property Grid、Report Control、Shortcut Bar、Synta

qq_42444778的博客 1709

VS2010-MFC(菜单菜单CMenu类的使用)

转自:http://www.jizhuomi.com/software/212.html 上一节讲的是VS2010的菜单资源,本节主要讲菜单CMenu类的使用。 CMenu类的主要成员函数 MFC为菜单操作提供了CMenu类,下面就常用的几个成员函数进行简单的介绍。 BOOL LoadMenu(UINT nID...

dgc70876的博客 567

如何修改Pop-menu(右键弹出的菜单)的内容(Caption)

CMenu menu; ClientToScreen(&point); VERIFY( menu.LoadMenu( IDR_MENU1 ) ); CMenu* popup = menu.GetSubMenu(0); ASSERT( popup != NULL ); popup->EnableMenuItem(ID_POPUP1, MF_BYCOMMAND|MF_GRAYED); popup->M

天元居 1592

MFC CMenu 的用法 函数列表

CMenu CObject └CMenu CMenu类为Windows HMENU的封装类。它提供了成员函数以用于创建、追踪、更新及销毁菜单。 在本地的堆栈框架中创建一个CMenu对象,然后调用CMenu的成员函数来操纵所需的新菜单。接着,调用CWnd::SetMenu函数为窗口设置菜单。然后立即调用CMenu对象的Detach成员函数。CWnd::

u013050589的专栏 3759

菜单基本操作

版权声明:本文为博主原创文章,博未经主网求允许不得转载 https://blog.csdn.net/xiao3404/article/details/52810679 ...

Mervise_123的博客 1830

如何动态添加菜单/菜单项、子菜单、右键菜单

<br />有关菜单操作主要用到CMenu类,当然也可用相应API函数,CMenu类只是MFC对API中操作菜单的函数的封装而已。不过能用类就尽量用类,类的组织方式好呗,代码看着也舒服。若是SDK编程,那就用API吧。<br /> <br />     CMenu menuMain,menu1; //首先定义CMenu对象<br /> 一、         创建菜单,有两种方法<br />1.       用LoadMenu函数从资源加载<br />menuMain.LoadMenu(IDR_MAINFR

scollins的专栏 887

菜单

CMenu 菜单类 成员函数 1. CreateMenu()和CreatePopupMenu(),这两个函数用来创建一个菜单实例,CreateMenu()创建的是普通的菜单实例,如果想创建弹出式菜单,就要用CreatePopupMenu()函数。 2. AppendMenu()向菜单中添加一个子项,这个函数有两个主要的参数。第一个UINT nFlags,这个参数表明了该...

dengjiatao9832的博客 169
上一篇: 关于模式
下一篇: DXF文件结构
小大小丑
博客等级 码龄18年 483粉丝 425原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值