【请教】List Control 不同列插入的数值行数不一样的问题
请教高手如何在List Control不同列插入的数值行数不一样?
我是这样做的:
前两列插入10行数据,后两行插入20行数据,
LV_COLUMN lvc;
lvc.pszText=_T( "序号 ");
lvc.mask=LVCF_TEXT|LVCF_WIDTH|LVCF_SUBITEM|LVCF_FMT;
lvc.fmt=LVCFMT_CENTER;
m_ListCtrl.InsertColumn(0,&lvc);
m_ListCtrl.SetColumnWidth(0,50);
lvc.pszText=_T( "数组1 ");
lvc.mask=LVCF_TEXT|LVCF_WIDTH|LVCF_SUBITEM|LVCF_FMT;
lvc.fmt=LVCFMT_CENTER;
m_ListCtrl.InsertColumn(1,&lvc);
m_ListCtrl.SetColumnWidth(1,50);
lvc.pszText=_T( "序号 ");
lvc.mask=LVCF_TEXT|LVCF_WIDTH|LVCF_SUBITEM|LVCF_FMT;
lvc.fmt=LVCFMT_CENTER;
m_ListCtrl.InsertColumn(2,&lvc);
m_ListCtrl.SetColumnWidth(2,60);
lvc.pszText=_T( "数组2 ");
lvc.mask=LVCF_TEXT|LVCF_WIDTH|LVCF_SUBITEM|LVCF_FMT;
lvc.fmt=LVCFMT_CENTER;
m_ListCtrl.InsertColumn(3,&lvc);
m_ListCtrl.SetColumnWidth(3,60);
for(i=0;i <10;i++)
{
m_ListCtrl.InsertItem(i,_T( " "));
str.Format(_T( "%d "),i+1);
m_ListCtrl.SetItemText(i,0,str);
str.Format(_T( "%f "),X[i]);
m_ListCtrl.SetItemText(i,1,str);
}
for(i=0;i <20;i++)
{
m_ListCtrl.InsertItem(i,_T( " "));
str.Format(_T( "%d "),i+1);
m_ListCtrl.SetItemText(i,2,str);
str.Format(_T( "%f "),Y[i]);
m_ListCtrl.SetItemText(i,3,str);
}
运行后得到的前两列和后两列的数据排列的乱七八糟的,并不是我想要的前两列是10行数据,后两列是20行数据!!
请教高手如何解决??
[解决办法]
CListCtrl首先支持行,然后支持列。所以不能说不同的列不同行,应该按照最多的行来安排,但是可以在某些行中的某些列设置空白的内容。否则,还是自己绘制数据方便了。