基本用法例子
BOOL CMngSysView::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: 在此处通过修改
// CREATESTRUCT cs 来修改窗口类或样式
if (!CListView::PreCreateWindow(cs))
{
return FALSE;
}
cs.style |= LVS_REPORT; //选择报表模式
//cs.style |= LVS_EDITLABELS; //使原位编辑标签有效
cs.style |= LVS_SHOWSELALWAYS; //指定被选中的项目始终加亮显示
return TRUE;
}
void CMngSysView::OnInitialUpdate()
{
CListView::OnInitialUpdate();
// TODO: 调用 GetListCtrl() 直接访问 ListView 的列表控件,
// 从而可以用项填充 ListView。
CListCtrl &listCtrl = GetListCtrl();
listCtrl.SetExtendedStyle(LVS_EX_FULLROWSELECT);
//listCtrl.SetImageList(&ilLarge,)
listCtrl.InsertColumn(0, _T("学号"), LVCFMT_LEFT, 100);
listCtrl.InsertColumn(1, _T("姓名"), LVCFMT_LEFT, 100);
listCtrl.InsertColumn(2, _T("性别"), LVCFMT_LEFT, 100);
listCtrl.InsertColumn(3, _T("年龄"), LVCFMT_LEFT, 100);
listCtrl.InsertColumn(4, _T("专业"), LVCFMT_LEFT, 100);
for (int i = 0; i < 10; ++i)
{
listCtrl.InsertItem(i, _T("123"), i);
listCtrl.SetItemText(i, 1, _T("巨蚁"));
}
for (int i = 10; i < 20; ++i)
{
listCtrl.InsertItem(i, _T("1990"), i);
listCtrl.SetItemText(i, 1, _T("sl"));
}
}
问题http://www./bbs/thread-111231-1-1.html
列表框(CListCtrl)报表模式下选择一行为何只能选中第一列?
我想选中一行时整行(几列)都选中,就像任务管理器那样,该如何设置?
listCtrl.SetExtendedStyle(LVS_EX_FULLROWSELECT);
删除所有列
CListCtrl& m_cListCtrl = GetListCtrl();
while(m_cListCtrl.DeleteColumn(0));