_超级列表框(List Control)


类名:CListCtrl 

超级列表框1.GetItemCount()										取项目数
int 列数 = 超级列表框1.GetHeaderCtrl()->GetItemCount();					取列数
超级列表框1.InsertColumn(0, title, LVCFMT_LEFT,75);						插入列
int 临时表项=超级列表框1.InsertItem(超级列表框1.GetItemCount(),L"文本");		插入行
超级列表框1.SetItemText(临时表项, 0, L"第0列");							置标题
超级列表框1.GetItemText(i, 1)										取标题
超级列表框1.SetFocus();											置焦点
超级列表框1.SetItemState(2, LVIS_SELECTED | LVIS_FOCUSED, LVIS_SELECTED | LVIS_FOCUSED);	选择某项,置某项选中状态
超级列表框1.SetItemState(3, 0, LVIS_SELECTED | LVIS_FOCUSED);					取消选择某项
超级列表框1.DeleteItem(0);										删除表项(删除行)
超级列表框1.DeleteColumn(0);										删除列
超级列表框1.DeleteAllItems();										删除全部
超级列表框1.SetBkColor(RGB(255, 255, 255));				设置背景颜色
超级列表框1.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES | LVS_EX_CHECKBOXES);直接设置超级列表框风格
超级列表框1.ModifyStyle(NULL, LVS_SHOWSELALWAYS);						修改默认样式
超级列表框1.GetCheck(0);										某项是否被勾选
EnsureVisible()												保证显示
HWND hwnd = 超级列表框1.m_hWnd;									取句柄

修改属性 Always Show Selection	  始终显示选中项


其他常用方法:
GetColumnWidth	获取报表视图或列表视图中的列的宽度
SetColumnWidth	改变报表视图或列表视图中的列的宽度
GetSelectedCount	获取列表视图控件中选择项的数量
FindItem	查找表项
遍历当前选中的行(按ctrl选中的):
void CcodeDlg::OnBnClickedButton9()
{
	// TODO:  在此添加控件通知处理程序代码
	CString str;

	POSITION pos = 超级列表框1.GetFirstSelectedItemPosition();
	while (pos)
	{
		int 索引 = 超级列表框1.GetNextSelectedItem(pos);
		str += 超级列表框1.GetItemText(索引, 1) + 超级列表框1.GetItemText(索引, 2) + L"\r\n";
	}
	编辑框1.SetWindowTextW(str);
}


风格相关

DWORD style = 超级列表框1.GetExtendedStyle();								获取已有的扩展风格
style |= LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES | LVS_EX_CHECKBOXES;				按位或 增加风格 方式覆盖旧的风格
扩展样式:
LVS_EX_FULLROWSELECT	整行选中
LVS_EX_GRIDLINES		显示表格线
LVS_EX_CHECKBOXES		显示复选框(检查框)
普通样式:
LVS_SHOWSELALWAYS		始终显示现行选中项