CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

如何隐藏掉list control中的某一行

楼主helloqiqi()2005-06-20 16:59:07 在 VC/MFC / 基础类 提问

rt 问题点数:20、回复次数:17Top

1 楼laiyiling(陌生人[MVP])回复于 2005-06-20 17:22:28 得分 0

SetColumn把宽度设置为0Top

2 楼laiyiling(陌生人[MVP])回复于 2005-06-20 17:28:08 得分 5

用把列宽设置为0的方法,有个问题就是在界面上用鼠标拖动表头改变列的宽度时,这个列又显示出来了,要做到完全的隐藏就做一个CHeaderCtrl的派生类,设定隐藏列变量,处理HDN_BEGINTRACK和HDN_ITEMCHANGING通知,发现当前列为隐藏列则不进行默认处理。  
   
   
  或者直接用两个CListctrl控件,一个多1列,一个少1列,分别隐藏显示他们。这样最简单,效果也不错的。呵呵!  
  Top

3 楼helloqiqi()回复于 2005-06-20 17:38:59 得分 0

先谢谢了,但是我要隐藏一行,不是一列Top

4 楼goodboyws(深夜不眠者(VCMVP))回复于 2005-06-20 18:11:47 得分 0

删丫的,自己备份一下啊Top

5 楼helloqiqi()回复于 2005-06-21 11:00:14 得分 0

不能删掉,我要的效果是这样的  
  id       age  
  001     20  
  002     25  
  004     21  
   
  006     24  
  007     54  
  像这样,中间空掉一行,其实是隐藏掉,怎么实现?求救啊  
  Top

6 楼hxue1981(雨山)回复于 2005-06-21 11:03:10 得分 3

呵呵!这样实际容易呀,这一行什么都不往里写不就行了吗?Top

7 楼helloqiqi()回复于 2005-06-21 11:06:56 得分 0

写要写的,但要隐藏掉,因为前面有checkbox,如果不写,checkbox也会出来的。Top

8 楼idAnts(此广告位招租)回复于 2005-06-21 11:11:11 得分 3

写空格Top

9 楼wuchi(风云)回复于 2005-06-21 11:20:55 得分 3

可以考虑在dc上刷白色Top

10 楼goodboyws(深夜不眠者(VCMVP))回复于 2005-06-21 11:25:57 得分 3

看看能不能得到checkbox的ID,   把它隐藏掉Top

11 楼hxue1981(雨山)回复于 2005-06-21 11:28:38 得分 3

想把那个checkbox隐藏掉有困难!  
  用这种格式设置的checkbox  
  ListView_SetExtendedListViewStyle(m_ListCtrl,   LVS_EX_CHECKBOXES);    
  不易改动Top

12 楼helloqiqi()回复于 2005-06-21 12:58:04 得分 0

我就是这样写的  
  ListView_SetExtendedListViewStyle(m_ListCtrl,   LVS_EX_CHECKBOXES);    
  隐藏麻烦了Top

13 楼vcmute(BCare4 H1Rest Good9!)回复于 2005-06-21 13:03:00 得分 0

设置三态,第三个为空白,将State的高位置为2(要重载)  
  SetImageList(   CImageList*   pImageList,   int   nImageList   );  
  LVSIL_STATE       Image   list   with   state   imagesTop

14 楼Phourm()回复于 2005-06-21 13:58:45 得分 0

替换成空行不就行了!   要SHOW再换回来  
  InsertItem(nItem,   "");  
  or    
  SetItemText(nItem,   nSubItem,   "");Top

15 楼helloqiqi()回复于 2005-06-22 14:00:04 得分 0

Phourm()   的方法我试了,可还是不能隐藏掉checkboxTop

16 楼helloqiqi()回复于 2005-06-22 14:24:33 得分 0

vcmute(横秋),能给我详细的代码吗?CImageList*   pImageList是什么?Top

17 楼laiyiling(陌生人[MVP])回复于 2005-08-03 13:35:50 得分 0

http://www.zahui.com/html/1/3774.htm  
  ListCtrl中HeaderCtrl的失效问题  
   
  曾经做过让某列HeaderCtrl失效的功能,主要是想保持HeaderCtrl宽度不变,方法是重载ListCtrl的虚函数OnNotify,在这个函数中判断某个列的索引iSubItem,如果是要失效的HeaderCtrl则设置*iResult   =   TRUE表示消息不再往下处理,同时return,代码如下:  
   
  BOOL   CStyleList::OnNotify(WPARAM   wParam,   LPARAM   lParam,   LRESULT*   pResult)    
  {  
    //   TODO:   Add   your   specialized   code   here   and/or   call   the   base   class  
    NMHEADER*   pNMHeader   =   (NMHEADER*)lParam;  
    if   (pNMHeader->iItem   ==   0)  
    {  
      *pResult   =   TRUE;  
      return   TRUE;  
    }  
     
    return   CListCtrl::OnNotify(wParam,   lParam,   pResult);  
  }  
   
  其结果是,被失效的HeaderCtrl向ListCtrl发送的所有通知消息都不被处理,导致对HeaderCtrl的拉动、拖拽等功能将全部失效。  
   
  现在,我要做一个很简单的功能:在这个失效HeaderCtrl上设置一个位图图标,由于这个HeaderCtrl的通知消息全部都不被ListCtrl处理,设置位图的操作因此也失效了,是需要改进代码的时候了:  
   
  BOOL   StyleList::OnNotify(WPARAM   wParam,   LPARAM   lParam,   LRESULT*   pResult)    
  {  
    //   TODO:   Add   your   specialized   code   here   and/or   call   the   base   class  
    NMHEADER*   pNMHeader   =   (NMHEADER*)lParam;  
    if   (pNMHeader->iItem   ==   0   &&   ((pNMHeader->hdr.code   ==   HDN_BEGINTRACKW)   |   (pNMHeader->hdr.code   ==   HDN_DIVIDERDBLCLICKW)))  
    {  
      *pResult   =   TRUE;  
      return   TRUE;  
    }  
     
    return   CListCtrl::OnNotify(wParam,   lParam,   pResult);  
  }  
   
  保持HeaderCtrl宽度不变,当然是不能随意左右拉动HeaderCtrl。除此之外,我注意到当在两个HeaderCtrl之间双击也会造成HeaderCtrl的宽度变化,因此,需要屏蔽这两个通知消息码:  
   
  HDN_BEGINTRACKW   :   当开始调整HeaderCtrl宽度时  
   
  HDN_DIVIDERDBLCLICKW:当在两个HeaderCtrl之间双击改变HeaderCtrl宽度时Top

相关问题

  • 隐藏表格的一行
  • TdbGrid里面如何隐藏某一行?
  • 怎样把list control的某一行设为选择状态?
  • 请问怎么隐藏LISTVIEW中的某一行?
  • 怎样动态将表的一行隐藏起来
  • 请问如何隐藏table中的某一行,50分相送!
  • 怎样可以隐藏 ListView 中的某一行呢?
  • 如何用JavaScript隐藏或显示DataGrid的某一行
  • HOW TO... :List Control 如何在点击一行的任何地方时选中?
  • 怎样隐藏一个Control

关键词

  • 代码
  • 消息
  • code
  • headerctrl
  • 隐藏
  • pnmheader
  • hdn
  • nmheader
  • 失效
  • onnotify

得分解答快速导航

  • 帖主:helloqiqi
  • laiyiling
  • hxue1981
  • idAnts
  • wuchi
  • goodboyws
  • hxue1981

相关链接

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

广告也精彩

反馈

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