VC 列表框问题

我想做一个列表框但是要想任务管理器里的那样同一列有多个数据没个数据所占用的空间大小可以改变就是印象名称用户明CPU等几个的位置... 我想做一个列表框 但是要想任务管理器里的那样 同一列有多个数据 没个数据所占用的空间大小可以改变 就是 印象名称 用户明 CPU 等几个的位置 展开
 我来答
lz3272
2009-08-15 · TA获得超过333个赞
知道小有建树答主
回答量:258
采纳率:0%
帮助的人:355万
展开全部
不会是简单的添加列和数据的吧
直接用InsertColumn插入列InsertItem插入行
有什么要求给我Hi一下,对上面的有点不明白
百度网友1d8e8b9
2009-08-15 · TA获得超过913个赞
知道小有建树答主
回答量:589
采纳率:60%
帮助的人:324万
展开全部
使用CListCtrl即可。
然后设置为Report模式。可以从资源编辑器中,选择控件的属性,也可以在代码中进行设置。

然后InsertCloumn插入列。
然后用InsertItem插入行,这里设置的文本,是该行的第一项中显示的文本。
用SetItemText设置子项。

例如:
InsertCloumn( 0, "CPU" );
InsertCloumn( 1, "RAM" );
....
InsertItem( 0, "60" );
SetItemText( 0, 1, "128" );
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
金毛狮王2007
2009-08-16 · TA获得超过529个赞
知道小有建树答主
回答量:215
采纳率:0%
帮助的人:399万
展开全部
最上面的那一行使用的是CHeaderCtrl,给个邮箱,我把整个工程文件发给你。

实现任务管理器的代码:
对话框头文件添加:
CHeaderCtrl* pHeaderCtrl;
对话框OnInitDialog()添加:
pHeaderCtrl = m_ListCtrl.GetHeaderCtrl();
ASSERT(NULL != pHeaderCtrl);
HDITEM hdi[5];

hdi[0].pszText=_T("映像名称");
hdi[1].pszText=_T("用户名");
hdi[2].pszText=_T("CPU");
hdi[3].pszText=_T("内存");
hdi[4].pszText=_T("描述");
for(int i = 0;i < 5;i++)
{
hdi[i].mask = HDI_TEXT | HDI_WIDTH | HDI_FORMAT ;
hdi[i].cxy = 100; // Make all columns 100 pixels wide.
hdi[i].fmt = HDF_STRING | HDF_CENTER;
pHeaderCtrl->InsertItem(i,&hdi[i]);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
1989747
推荐于2016-05-17 · TA获得超过153个赞
知道答主
回答量:77
采纳率:0%
帮助的人:54.7万
展开全部
你可以参考下下面一段代码:首先要把列表框的属性改下,style--View--Report
---------------------------------------------------
m_list.InsertColumn(0, "学号", LVCFMT_LEFT, 110);

m_list.InsertColumn(1, "姓名", LVCFMT_LEFT, 130);

m_list.InsertColumn(2, "成绩", LVCFMT_LEFT, 47);

m_list.InsertITem(0,"2002112105");

m_list.SetITemText(0,1,"程红秀");

m_list.SetITemText(0,2,"96");

m_list.InsertITem(1,"2002112126");

m_list.SetITemText(1,1,"符中辉");

m_list.SetITemText(1,2,"85");
------------------------------------------------
你可以在msdn上查查InsertConlomn 的用法,
InsertColumn
函数属于CListCrl类中的。
位于vc安装目录的vc\atlmfc\include路径下。
函数功能:在报告模式下插入一列
函数原型:int InsertColumn(int nCol, const LVCOLUMN* pColumn);
int InsertColumn(int nCol, LPCTSTR lpszColumnHeading, int nFormat = LVCFMT_LEFT, int nWidth = -1, int nSubItem = -1);
参数: nCol表示要插入列的列号。
pColumn 为新建列属性的LVCOLUMN结构的地址。
对于第二种函数重载,参数lpszcolumnHeading 为列标题的字符串的地址,所以可以使用一个字符串,比如 "姓名"。
nFormat 指定列对齐方式的整数,缺省值是左对齐。它可以为下列值之一:LVCFMT_LEFT,LVCFMT_RIGHT或LVCFMT_CENTER。
nWidth 以像素为单位的列宽。缺省值为-1,表示没有设置列宽。
nSubItem 与列相关联的子项的索引。缺省值为-1,表示没有子项与列相关。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式