社区
界面
帖子详情
CListCtrl 如何调整列的位置
kenshu
2010-09-16 04:13:41
(VC6)
默认是A,B,C在个列
用户拖动为 C,A,B之后,我已经把它们记下来,下次运行时,我如何调整C列到最前面?
CListCtrl.InsertColumn(0,'A')//这是大致的意思,不是真实代码
CListCtrl.InsertColumn(1,'B')
CListCtrl.InsertColumn(2,'C')
InsertColumn之后,如何用代码修改C的位置到最前面?
谢谢!
...全文
188
10
打赏
收藏
CListCtrl 如何调整列的位置
(VC6) 默认是A,B,C在个列 用户拖动为 C,A,B之后,我已经把它们记下来,下次运行时,我如何调整C列到最前面? CListCtrl.InsertColumn(0,'A')//这是大致的意思,不是真实代码 CListCtrl.InsertColumn(1,'B') CListCtrl.InsertColumn(2,'C') InsertColumn之后,如何用代码修改C的位置到最前面? 谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ynwlgh
2010-09-17
打赏
举报
回复
CListCtrl::SetColumn
BOOL SetColumn(int nCol,const LVCOLUMN* pColumn)
返回值:如果成功,则返回非零值,否则为0。
参数: nCol 要设置属性的列的索引值。
pColumn 包含新列属性的LVCOLUMN结构的地址,如联机文档“平台SDK” 中所述。该结构的mask成员指定了要设置属性的列。如果mask成员指定为LVCF_TEXT值,那么该结构的pszText成员则为以空字符为终止符的字符串,并且该结构的cchTextMax成员将被忽略。
说明:设置列表视图列的属性。
VC/MFC列表CListCtrl类的LVCOLUMN和LVITEM详解
http://blog.csdn.net/hahalxp/archive/2010/07/02/5709613.aspx
你试下.我没有用过这种方法...
kenshu
2010-09-17
打赏
举报
回复
回楼上,A/B/C只是一个概数,实际有20+列.
我实际已经记在文件上了(当然也取得出来),问题是这个CListCtrl在InsertColumn后,不知道如何用代码修改每一列的位置(比如把C列放到最前面)
---------------------------------------------------------
最后还是用了3楼的方法,按保存后的次序创建列.当然其它很多代码就要一起修改了,因为原来的SetItemText都是用SetItemText(nItem,nSubItem/*这个要改很多地方了*/,"text")
结贴,谢谢大家
hztj2005
2010-09-16
打赏
举报
回复
笨方法:
你写三段代码,对应三种秩序:
if(order==1){
}else if(order==2){
}else if(order==3){
}
用户拖动后,记录一个变量order,写入磁盘文件
QQ282881515
2010-09-16
打赏
举报
回复
[Quote=引用 5 楼 kenshu 的回复:]
#3有没有更好的方法?
我保存时是用
CListCtrl.GetHeaderCtrl()->GetItemRect(i,&CRect)
取得各个列的left
但好像没有SetItemRect或类似的函数
-----------------------------------------------------
#4
不是这个意思,我保存下来了,也取得出来,……
[/Quote]
额 机子上没编译环境 试 额 等待高人
kenshu
2010-09-16
打赏
举报
回复
说那个方法麻烦,是因为涉及多个地方,InsertItem/SetItemText要用到索引的问题。
谢谢!
kenshu
2010-09-16
打赏
举报
回复
#3有没有更好的方法?
我保存时是用
CListCtrl.GetHeaderCtrl()->GetItemRect(i,&CRect)
取得各个列的left
但好像没有SetItemRect或类似的函数
-----------------------------------------------------
#4
不是这个意思,我保存下来了,也取得出来,但不知道代码如何将它调到最前面.
---------------------------------
当然最坏的方法是
CListCtrl.InsertColumn(0,SC)
CListCtrl.InsertColumn(1,SA)
CListCtrl.InsertColumn(2,SB)
但各个地方改动太大了.
谢谢!
QQ282881515
2010-09-16
打赏
举报
回复
CListCtrl.InsertColumn(0,'A')//这是大致的意思,不是真实代码
CListCtrl.InsertColumn(1,'B')
CListCtrl.InsertColumn(2,'C')
上边的'A','B','C'定义为变量。。
CString sA, SB, SC;
SA,SB,SC,的值是从.INI文件里边读取的。。。
CListCtrl.InsertColumn(0,SA)//这是大致的意思,不是真实代码
CListCtrl.InsertColumn(1,SB)
CListCtrl.InsertColumn(2,SC)
fandh
2010-09-16
打赏
举报
回复
最差是删除后重新添加!
kenshu
2010-09-16
打赏
举报
回复
我已经记录了,// ColumnPos = C,A,B
问题是,我不知道如何将第三列调到最前面去
比如 SetColumn一类的函数?具体应该如何设置?
谢谢!
QQ282881515
2010-09-16
打赏
举报
回复
(VC6)
默认是A,B,C在个列
用户拖动为 C,A,B之后,我已经把它们记下来,下次运行时,我如何调整C列到最前面?
你说的下次启动是不是要记住用户拖动的CAB顺序,将默认的ABX覆盖掉?
要是这样的话你就在
CListCtrl.InsertColumn(0,'A')//这是大致的意思,不是真实代码
CListCtrl.InsertColumn(1,'B')
CListCtrl.InsertColumn(2,'C')之前读取.INI配置文件吧。。。这个.ini文件用于记录用户上次的配置
VC++ 专家指导.doc
(95) 我在一对话框中有一
列
表框,我需要tabbed
列
表框中的项目。但是,当我处理含有tab字符(用AddString添加的)的
列
表项时,tab被显示成小黑块而没有展开。哪儿出错了? 72 (96) 我建立了一个应用程序,并使用了...
CLi
stCtrl
设置只显示单
列
可以使用
列
表控件的 GetColumnWidth 函数来获取每
列
的宽度,使用 Get
Cli
entRect 函数来获取
列
表控件的客户区域宽度,并...这段代码将设置
CLi
stCtrl
控件为只显示一
列
,并将该
列
的宽度自动
调整
以填充整个
列
表控件的宽度。
使
CLi
stCtrl
可编辑
原文地址:使
CLi
stCtrl
可编辑(转)作者:小妞学开发
CLi
stCtrl
是一个经常使用的控件,通常用来显示数据库的内容。但是,
CLi
stCtrl
并不好用。我们当然希望
CLi
stCtrl
能像Excel那样好用,因此,得在原来的基础上...
改变
CLi
stCtrl
、CHeaderCtrl 高度、字体、颜色和背景
改变
CLi
stCtrl
、CHeaderCtrl 高度、字体、颜色和背景 ...本文将介绍如何派生一个类来改变
CLi
stCtrl
及其表头的高度、字体大小、
列
背景颜色、单元格背景颜色、
列
字体颜色、单元格字体颜色 实现过程:...
MFC总结之
CLi
stCtrl
用法及技巧(一)
基本操作、获取选中行的行号、复选框操作、动态设置选中行的字体颜色、设置选中行的背景颜色、禁止拖动表头、让第一
列
居中显示、设置行高与字体、虚拟
列
表技术、点击表头时进行归类、向上与向下移动、动态
调整
大小...
界面
15,979
社区成员
115,896
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章