CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  界面

ListCtrl中如何让右键点一个Item的时候弹出浮动菜单?

楼主talkfalse(talkfalse)2005-06-03 19:58:32 在 VC/MFC / 界面 提问

如题,右键点一个Item时弹出一个浮动菜单,对其进行设置.类似右键点击文件弹出的菜单一样  
  问题点数:100、回复次数:5Top

1 楼daaoke(达奥克)回复于 2005-06-03 20:06:08 得分 10

思路:创建一个菜单类资源;重载ListCtrl::OnComMsg()  
  Top

2 楼talkfalse(talkfalse)回复于 2005-06-03 20:12:24 得分 0

思路我知道,但是不会写代码Top

3 楼missle(闪人)回复于 2005-06-03 20:40:38 得分 90

兄弟你好运阿,我正在写:代码如下:  
  重载你控件的OnRclick消息,我这个是CTreeView类继承过来的,但是不影响你的使用  
   
  void   CCateTreeView::OnRclick(NMHDR*   pNMHDR,   LRESULT*   pResult)    
  {  
  //   TODO:   Add   your   control   notification   handler   code   here  
  CTreeCtrl   &   m_Tree   =   GetTreeCtrl();                           //   使用你的tree控件的对应变量  
   
  HTREEITEM   hSelect   =   m_Tree.GetSelectedItem();  
  HTREEITEM   hLight   =   m_Tree.GetDropHilightItem();  
   
  if(hLight   !=   NULL   &&   hSelect   !=   hLight)  
  hSelect   =   hLight;  
  if(hSelect   ==   NULL)  
  return;  
   
  m_Tree.SelectItem(hSelect);  
   
  //   Load   menu  
  HMENU   hMenu;  
  HMENU   hMenuTrackPop;  
   
                    //IDR_MENU_CONTEXT   是你的右键菜单资源名  
  hMenu   =   ::LoadMenu(AfxGetInstanceHandle(),   MAKEINTRESOURCE(IDR_MENU_CONTEXT));  
  if(NULL   ==   hMenu)  
  return;  
   
  hMenuTrackPop   =   ::GetSubMenu(hMenu,   0);  
  CRect   rc;  
  m_Tree.GetItemRect(hSelect,   &rc,   FALSE);  
  ClientToScreen(&rc);  
   
  //   if   selected   item   is   cate,   not   card  
  //   disable   all   menu   items   assocated   with   card  
  DWORD   data   =   m_Tree.GetItemData(hSelect);  
   
  CPoint   oPoint;  
  GetCursorPos(   &oPoint);  
   
  TrackPopupMenu(hMenuTrackPop,   TPM_LEFTALIGN   |   TPM_LEFTBUTTON,   oPoint.x,   oPoint.y,   0,  
  m_Tree.m_hWnd,   NULL);  
   
  DestroyMenu(hMenu);  
   
  *pResult   =   0;  
   
  }  
  Top

4 楼talkfalse(talkfalse)回复于 2005-06-03 21:16:09 得分 0

missle(闪人):  
  谢谢了  
  我的2个问题都是你回的:)  
  我先去试试Top

5 楼talkfalse(talkfalse)回复于 2005-06-03 21:19:05 得分 0

对了,正好顺便问问.我就你说那个用ListCtrl实现一行显示2个item很BT的人,呵呵~~~  
  如果用你提供给我的grid控件是不是处理的方法一样呢?Top

相关问题

  • 请问如何在树型视图中实现 用右键点击某节点就能弹出浮动菜单?
  • 紧急,listctrl中怎么做 item的鼠标右键弹出菜单?
  • 右键弹出菜单
  • 郁闷中..!大侠帮忙! 在ListCtrl上点击右键,弹出菜单,可是无法知道鼠标位置!
  • 右键弹出菜单的编写。
  • 右键弹出菜单问题
  • 定义CTreeCtrl右键弹出式菜单
  • 怎样鼠标右键弹出菜单
  • 右键弹出菜单怎么实现
  • 点击右键,弹出菜单问题?

关键词

  • null
  • hselect
  • 右键点
  • hlight
  • 菜单
  • 弹出
  • hmenu
  • tree
  • rc
  • items

得分解答快速导航

  • 帖主:talkfalse
  • daaoke
  • missle

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo