VC++中InsertItem和SetItemText的区别?
2个回答
展开全部
InsertItem 只操作CListCtrl的第一列,如果只有一列就用这个
SetItemText通常用于操作CListCtrl第一列之外的列,并应该在InsertItem第一列之后操作。
例:
m_ListCtrl.InsertColumn(0,_T("序号"),LVCFMT_CENTER,50);
m_ListCtrl.InsertColumn(1,_T("姓名"),LVCFMT_CENTER,100);
m_ListCtrl.InsertColumn(2,_T("性别"),LVCFMT_CENTER,50);
m_ListCtrl.InsertColumn(3,_T("得分"),LVCFMT_CENTER,50);
char chs[10];
memset(chs,0,10);
for(int i=0;i<7;i++)
{//循环处理7行,如果有数据源,那么根据实际数据源处理
//插入行
m_ListCtrl.InsertItem(i,_itoa(i+1,chs,10));//插入的只能是字符串,所以数字要转字符
//设置行的其它列
m_ListCtrl.SetItemText(i,1,_T("某某"));
if(0==i%3)//每三个显示一个女
m_ListCtrl.SetItemText(i,2,_T("女"));
else
m_ListCtrl.SetItemText(i,2,_T("男"));
m_ListCtrl.SetItemText(i,3,_T("65"));
}
SetItemText通常用于操作CListCtrl第一列之外的列,并应该在InsertItem第一列之后操作。
例:
m_ListCtrl.InsertColumn(0,_T("序号"),LVCFMT_CENTER,50);
m_ListCtrl.InsertColumn(1,_T("姓名"),LVCFMT_CENTER,100);
m_ListCtrl.InsertColumn(2,_T("性别"),LVCFMT_CENTER,50);
m_ListCtrl.InsertColumn(3,_T("得分"),LVCFMT_CENTER,50);
char chs[10];
memset(chs,0,10);
for(int i=0;i<7;i++)
{//循环处理7行,如果有数据源,那么根据实际数据源处理
//插入行
m_ListCtrl.InsertItem(i,_itoa(i+1,chs,10));//插入的只能是字符串,所以数字要转字符
//设置行的其它列
m_ListCtrl.SetItemText(i,1,_T("某某"));
if(0==i%3)//每三个显示一个女
m_ListCtrl.SetItemText(i,2,_T("女"));
else
m_ListCtrl.SetItemText(i,2,_T("男"));
m_ListCtrl.SetItemText(i,3,_T("65"));
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询