如某行的字符串是 1122334455 而我只想设置3344的颜色 请问怎么搞?
不知道你这个问题是否已经解决, 如果还没有解决的话:1.
(1)InsertItem --- 插入一个主项(行)
(2)DeleteItem --- 删除一个主项 (行)
(3)InsertColumn --- 插入一个列
(4)DeleteColumn --- 删除一个列 (索引从0开始)
(5)SetItemText --- 设置子项文本
(6)GetItemText --- 获得子项文本
(7)GetItemCount --- 获得项目的总数(总行数目)
(8)SetImageList --- 把图像列表与列表控件关联(设置列表图标需要)
-------------------------------------------------------
用法:
(1)InsertItem() //插入一行
// 可以插入图片(失败则图片不能显示)
int InsertItem(const LVITEM* pItem);
// 插入文字
int InsertItem(
int nItem, //第几行
LPCTSTR lpszItem //该行第1列的文字
);
-------------------------------------------------------
(2)DeleteItem(iItem); //根据行号删除某行。
注意:若要删除多行时,需要从后面开始删除,因为如果从前面开始删除的话,下面的行会往上移,原来第1行就变成了第0行。
错误删法:
m_listctrl.DeleteItem(0);
m_listctrl.DeleteItem(1)
正确删法:
m_listctrl.DeleteItem(1);
m_listctrl.DeleteItem(0);
-------------------------------------------------------
(3)InsertColumn() //插入1列
int InsertColumn(
int nCol, // 第几列
LPCTSTR lpszColumnHeading, //列名
int nFormat = LVCFMT_LEFT, // 对齐的方式
int nWidth = -1, //该列的宽度
int nSubItem = -1 //子项的索引与列(一般缺省默认即可,可不填)
);
对齐的方式有3种:
LVCFMT_LEFT (左对齐)
LVCFMT_CENTER (居中)
LVCFMT_RIGHT (右对齐)
-------------------------------------------------------
(4)DeleteColumn --- 删除一个列 (索引从0开始)
//注意:删除多列要从后往前删,否则出错
for(int k=2;k>=0;k--)
m_ListCtrl.DeleteColumn(k);
-------------------------------------------------------
(5)SetItemText() //设置文字
BOOL SetItemText(
int nItem, //第几行
int nSubItem, //低级列
LPCTSTR lpszText //文字内容
);
-------------------------------------------------------
2.设置列表控件的扩展样式
SetExtendedStyle(LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT|LVS_EX_CHECKBOXES) ;
常用的扩展样式:
LVS_EX_GRIDLINES---网格线
LVS_EX_CHECKBOXES---每一行的最前面带个复选框
LVS_EX_FULLROWSELECT---整行选中
LVS_EX_HEADERDRAGDROP---列表头可以拖动(改变位置)