VC++深入详解笔记---第6章_菜单---6.3_基本菜单操作---6.3.7_快捷菜单

来源:互联网 发布:用友erp软件价格 编辑:程序博客网 时间:2024/06/12 00:19

一、主要内容

 主要介绍了快捷菜单/上下文菜单/右键菜单的实现方法

  1、VC6.0实现:

    法1:添加组件/Active控件;

    法2:手工添加代码。

2、VS2008

    法1:暂未找到;

    法2:手工添加代码实现。


二、VS2008具体实现步骤

   1、在Resource View窗口添加Menu资源

   2、在Class View窗口CMenuView类添加WM_OnRButtonDown消息响应函数,具体代码:

void CMenuView::OnRButtonDown(UINT nFlags, CPoint point)
{
 // TODO: Add your message handler code here and/or call default
 CMenu menu;
 menu.LoadMenu(IDR_MENU1);
 CMenu *pPopup = menu.GetSubMenu(0);
 ClientToScreen(&point);
 pPopup->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x ,point.y, this);
 CView::OnRButtonDown(nFlags, point);
}

 

三、函数TrackPopupMenu

函数声明:

BOOL TrackPopuMenu(UNIT nFlags, int x, int y, CWnd *pWnd,

LPCRECT lpRect = null)

函数参数:

nFlags:指定菜单在屏幕上显示的位置

x和y:分别指定快捷菜单显示处的x和y坐标

pWnd:指定快捷菜单的拥有者,也就是表示拥有快捷菜单的对象

lpRect:指定一块