| 网站首页 | JAVA文章 | AppServers | Web开发 | 应用开发 | 资源下载 | 论坛
    想学好编程,学好外语很重要  [enadd  2006年12月25日]        
设为首页 加入收藏 联系站长
您现在的位置: 编程笔记网 >> 应用开发 >> vc >> 界面窗口 >> 文章正文
在(CListView)列表视图中添加右键菜单            【字体:
在(CListView)列表视图中添加右键菜单
作者:未知    文章来源:未知    点击数:    更新时间:2006-11-6

 大家好,这是我第一篇文章,就用我最常用的列表视图做开始吧,我要做的功能就是在列表框上添加一个右键菜单,同时提示当前选中的文本内容,功能很简单,而且是在别人的基础上改编的,不过,一切事情都是从最简单的事情开始的,“天下难事,必做于易;天下大事,必做于细”,况且,只有站在别人的肩膀上才能看的更远,J,闲言少叙,书规正传。

  在codeproject网站中(http://www.codeproject.com/listctrl/drivebrowser.asp),Barretto VN的例子已经给出了一个用列表框显示(具体的)驱动器的例子,所以现在要做的工作是了解与右键菜单相关的函数有那些,应该添加到那个位置。

  使用弹出式菜单(PopMenu)

  弹出式菜单(PopMenu)大家都熟悉,在WIN98的桌面上单击鼠标右键弹出的菜单就是弹出式菜单。通常情况下,弹出式菜单在鼠标右键单击时弹出,当然,也可以根据需要随时弹出。 在VC++5的MFC中,管理菜单的类叫CMenu。下面我向大家介绍建立一个弹出式菜单的基本方法。

  一、在资源编辑器中建立一个菜单资源
  新建一个菜单资源,比如把菜单的ID号为IDC_POPMENU。此菜单有一项两层,即有一个可弹出的菜单项,而此菜单项的弹出内容即为将要建立的弹出式菜单的内容。至于每一个菜单项的消息映射,与一般的菜单相同。

  二、使用CMenu类对象

  CMenu类的成员函数较多,但建立弹出式菜单只需用到其中几个成员函数。
  1、LoadMenu函数

  功能:从应用程序的可执行文件中加载菜单资源
  原型:BOOL LoadMenu( UINT nIDResource );
  其中nIDResource是菜单资源的ID号,这里用的是刚建立的IDC_POPMENU。
  2、GetSubMenu函数

  功能:此函数用于得到子菜单的指针。
  原型:CMenu* GetSubMenu( int nPos ) const;
  nPos为层数,0为第一层子菜单……以此类推。
  由于我们需要的是“可弹出项”的第一层子菜单,因此用GetSubMenu(0)来得到第一层子菜单的类指针。

  3、TrackPopupMenu函数

  功能:在指定位置显示弹出菜单,并跟踪所选择的项
  原型:BOOL TrackPopupMenu( UINT nFlags,int x,int y,CWnd* pWnd,LPCRECT lpRect = NULL );
  其中:
  nFlags为屏幕坐标属性和鼠标坐标属性
  屏幕坐标属性:
  TPM_CENTERALIGN 横向将菜单以x居中
  TPM_LEFTALIGN 横向将菜单以x左对齐

[1]

文章录入:enadd    责任编辑:enadd 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
  • 转:从VC++到GCC移植:谈两者…

  • Visual C++编译器常用选项设…

  • 在VisualStudio中使用Window…

  • VC++开发的应用技巧三则放送

  • VC调试入门

  • Visual C++编程窃取QQ密码

  • VC时间控制函数

  • WTL for MFC Programming实践…

  • WTL for MFC Programming实践…

  • ATL ActiveX控件中用WTL::CB…

  •   网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 管理登录 |