我怎么也加不上item的内容,为什么??是哪儿的错呢
//结构体是sps
LV_ITEM lvitem;
LV_COLUMN lvcol;
int i,iPos,iItemNum;lvcol.mask=LVCF_SUBITEM|LVCF_TEXT|LVCF_WIDTH;
lvcol.fmt=LVCFMT_CENTER;//居中
i=0;
lvcol.pszText="品名";
lvcol.iSubItem=i;
lvcol.cx=70;m_ListCtrlLeft.InsertColumn(i++,&lvcol);
lvcol.pszText="单 价";
lvcol.iSubItem=i;
lvcol.cx=70;
m_ListCtrlLeft.InsertColumn(i++,&lvcol);iItemNum=sizeof(sps)/sizeof(SPS);
for(i=0;i<iItemNum;i++){lvitem.mask=LVIF_TEXT;
lvitem.iItem=i;
lvitem.iSubItem=0;
lvitem.pszText=sps[i].szPM;//品名
lvitem.lParam=i;
iPos=m_ListCtrlLeft.InsertItem(&lvitem);//返回表项插入后的索引号lvitem.mask=LVIF_TEXT;
lvitem.iItem=iPos;
lvitem.iSubItem=1;
lvitem.pszText=sps[i].szDJ;//(单价)
m_ListCtrlLeft.SetItem(&lvitem);};
运行后,没有错误,就是显示不出来阿
//结构体是sps
LV_ITEM lvitem;
LV_COLUMN lvcol;
int i,iPos,iItemNum;lvcol.mask=LVCF_SUBITEM|LVCF_TEXT|LVCF_WIDTH;
lvcol.fmt=LVCFMT_CENTER;//居中
i=0;
lvcol.pszText="品名";
lvcol.iSubItem=i;
lvcol.cx=70;m_ListCtrlLeft.InsertColumn(i++,&lvcol);
lvcol.pszText="单 价";
lvcol.iSubItem=i;
lvcol.cx=70;
m_ListCtrlLeft.InsertColumn(i++,&lvcol);iItemNum=sizeof(sps)/sizeof(SPS);
for(i=0;i<iItemNum;i++){lvitem.mask=LVIF_TEXT;
lvitem.iItem=i;
lvitem.iSubItem=0;
lvitem.pszText=sps[i].szPM;//品名
lvitem.lParam=i;
iPos=m_ListCtrlLeft.InsertItem(&lvitem);//返回表项插入后的索引号lvitem.mask=LVIF_TEXT;
lvitem.iItem=iPos;
lvitem.iSubItem=1;
lvitem.pszText=sps[i].szDJ;//(单价)
m_ListCtrlLeft.SetItem(&lvitem);};
运行后,没有错误,就是显示不出来阿
阿们,要先InsertColumn
然后InsertItemOK?
lvc.mask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM ;
lvc.cx = 100;
lvc.fmt = LVCFMT_CENTER; lvc.iSubItem = 0;
lvc.pszText = "Module";
listCtrl.InsertColumn(0,&lvc);
lvc.iSubItem = 1;
lvc.pszText = "Time Stamp";
listCtrl.InsertColumn(1,&lvc);
lvc.iSubItem = 2;
lvc.pszText = "Size";
listCtrl.InsertColumn(2,&lvc);
lvc.iSubItem = 3;
lvc.pszText = "Attrubites";
listCtrl.InsertColumn(3,&lvc);
lvc.iSubItem = 4;
lvc.pszText = "Machine";
listCtrl.InsertColumn(4,&lvc); CListCtrl& refCtrl = GetListCtrl();
refCtrl.InsertItem(0, "Item!");
for (int j=1;j < 5;j++)
{
strText.Format(TEXT("sub-item %d %d"), i, j);
refCtrl.SetItemText(i, j, strText);
}
struct SPS{
char szPM[10];
char szDJ[10];
}; struct SPS sps[] = {"p1", "d1", "p2", "d2"};
void CListtest::OnButton1()
{
LV_ITEM lvitem;
LV_COLUMN lvcol;
int i,iPos,iItemNum;lvcol.mask=LVCF_SUBITEM|LVCF_TEXT|LVCF_WIDTH;
lvcol.fmt=LVCFMT_CENTER;//居中
i=0;
lvcol.pszText="品名";
lvcol.iSubItem=i;
lvcol.cx=70;m_ListCtrlLeft.InsertColumn(i++,&lvcol);
lvcol.pszText="单 价";
lvcol.iSubItem=i;
lvcol.cx=70;
m_ListCtrlLeft.InsertColumn(i++,&lvcol);iItemNum=sizeof(sps)/sizeof(SPS);
for(i=0;i<iItemNum;i++){lvitem.mask=LVIF_TEXT;
lvitem.iItem=i;
lvitem.iSubItem=0;
lvitem.pszText=sps[i].szPM;//品名
lvitem.lParam=i;
iPos=m_ListCtrlLeft.InsertItem(&lvitem);//返回表项插入后的索引号lvitem.mask=LVIF_TEXT;
lvitem.iItem=iPos;
lvitem.iSubItem=1;
lvitem.pszText=sps[i].szDJ;//(单价)
m_ListCtrlLeft.SetItem(&lvitem);
}
}除了结构体以外全是你的哇码,没错啊。
如果你的sps是一个SPS数组的话,知道iItemNum是什么值吗?关键在于,sizeof()返回的值并不是数组的总大小,而是数组的个数乘以数组指针的大小。