分享

CListView使用

 zhaopengxslc 2011-05-26

基本用法例子

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));

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多