添加菜单事件

本文介绍了如何在Windows应用程序中添加静态和动态菜单,以及如何实现右键弹出菜单。首先,通过资源编辑器添加静态菜单,并为菜单项设置事件响应。接着,详细解释了动态创建菜单的过程,包括创建弹出菜单、添加菜单项和刷新菜单栏。最后,讨论了如何处理右键点击事件,加载子菜单并使用TrackPopupMenu显示菜单。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.添加静态菜单

1. 填加一个菜单资源

2. 主对话框 -> 属性 -> Menu -> 选中菜单ID

3.添加事件,如<图1>
 
              ----------图1-----------



 

二. 添加动态菜单

1.   
 CMenu mu;
 mu.CreatePopupMenu(); //创建弹出菜单
 CMenu *pTop = GetMenu();
 pTop->AppendMenuW(MF_POPUP, (UINT)mu.m_hMenu, L"动态菜单!"); //菜单名
 mu.AppendMenuW(MF_STRING, 40007<新建的ID> , L"动态1");
 mu.AppendMenuW(MF_STRING, 40008, L"动态2");
 mu.AppendMenuW(MF_STRING, 40009, L"动态3");
 DrawMenuBar();  //刷新创建的菜单

 

三.右键弹出菜单

1. 在主对话框类添加成员变量: CStatusBar m_status;

2. 类向导 -> 消息 -> WM_RBUTTONDOWN<右键点击消息>

3.  
 //GetCursorPos(&pt)  获取鼠标的屏幕坐标
 CMenu mu;
 mu.LoadMenuW(IDR_MENU1);
 CMenu *pSub = mu.GetSubMenu(0 <图2> );
 ClientToScreen(&point);
 TrackPopupMenu(pSub->m_hMenu, TPM_LEFTALIGN, point.x, point.y, 0, m_hWnd, NULL);
 

    ---------图2--------

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值