★★★关于CListCtrl删除列然后再增加列的问题
时间:2011-11-29
来源:互联网
最近做了一个全自绘的Report模式的CListCtrl,在控件创建起初,采用CListCtrl::InsertColumn函数增加自己所要增加的列数量,并且都能正常显示,然后增加List的Item都能显示,其中我是采用了LVS_EX_GRIDLINES扩展风格来显示网格的。
在我程序运行中,现在想根据用户的选择来显示列数量以及内容,所以我在用户设置之后,首先采用DeleteAllItems()函数删除所有的Item,然后如下代码删除表头
C/C++ code
在删除所有的信息之后,然后还是像创建初期那样,采用CListCtrl::InsertColumn来创建表头,然后再添加items,为什么表头增加的是正确的,比如在删除之前显示是5列,删除之后重新新增是7列,现在表头就CHeaderCtrl显示确实是7列,但是list中绘制的列缺失12列,也就是把删除前的5列也绘制出来了,如果我多次重复来执行删除表头,新增表头的话,list中绘制的列将会累计,很奇怪,不知道是什么原因。
顺便问一下,这个网格绘制应该不是我自己来完成绘制的吧,应该是系统来完成的,所谓开始我设置的全部自己绘制“LVS_OWNERDRAWFIXED ”应该只是单元格内容显示的绘制是我自己用代码完成吧,我这样理解应该是没有问题的吧?
所以求解!!!!!!!!!!!
C/C++ code
在我程序运行中,现在想根据用户的选择来显示列数量以及内容,所以我在用户设置之后,首先采用DeleteAllItems()函数删除所有的Item,然后如下代码删除表头
C/C++ code
CHeaderCtrl* pHeader=this->GetHeaderCtrl(); while(pHeader->GetItemCount()) pHeader->DeleteItem(0);
在删除所有的信息之后,然后还是像创建初期那样,采用CListCtrl::InsertColumn来创建表头,然后再添加items,为什么表头增加的是正确的,比如在删除之前显示是5列,删除之后重新新增是7列,现在表头就CHeaderCtrl显示确实是7列,但是list中绘制的列缺失12列,也就是把删除前的5列也绘制出来了,如果我多次重复来执行删除表头,新增表头的话,list中绘制的列将会累计,很奇怪,不知道是什么原因。
顺便问一下,这个网格绘制应该不是我自己来完成绘制的吧,应该是系统来完成的,所谓开始我设置的全部自己绘制“LVS_OWNERDRAWFIXED ”应该只是单元格内容显示的绘制是我自己用代码完成吧,我这样理解应该是没有问题的吧?
所以求解!!!!!!!!!!!
C/C++ code
BOOL CMyGridCtrl::PreCreateWindow(CREATESTRUCT& cs) { cs.style |= LVS_REPORT | LVS_SINGLESEL | LVS_SHAREIMAGELISTS | LVS_OWNERDRAWFIXED | LVS_SHOWSELALWAYS; return CListCtrl::PreCreateWindow(cs); }
作者: afxtian 发布时间: 2011-11-29
call DeleteAllItems并没有删除CHeadctrl中的列标题信息,如果原来是5列标题,现在要变成7列,只用增加2列就行,其他列如果标题不对,更改一下标题即可.
如果设置为LVS_OWNERDRAWFIXED,那么所有的Item信息你必须自己绘制.
如果设置为LVS_OWNERDRAWFIXED,那么所有的Item信息你必须自己绘制.
作者: yuucyf 发布时间: 2011-11-29
需要说明下的是,有时候我是要在现有基础上增加列的,有时候需要减少列的,这个完全是有用户去设置变更的,而且每个列所设置的居中、居左、居右格式也是不一样的,所以想删除完之前的,然后再根据用户设置来重新添加。
作者: afxtian 发布时间: 2011-11-29
while(m_list_view_.DeleteColumn(0));
作者: xxweilw 发布时间: 2011-11-29
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28