我怎么也加不上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);};
运行后,没有错误,就是显示不出来阿

解决方案 »

  1.   


    阿们,要先InsertColumn
    然后InsertItemOK?
      

  2.   

    m_ListCtrlLeft.InsertColumn(i++,&lvcol);我已经做过啦啊
      

  3.   

    请跟踪一下iItemNum这个值,我怎么都觉得你的这个值是0,导致循环失败。
      

  4.   

    LVCOLUMN lvc;
    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);
       }
      

  5.   


    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);
    }
    }除了结构体以外全是你的哇码,没错啊。
      

  6.   

    iItemNum=sizeof(sps)/sizeof(SPS);
    如果你的sps是一个SPS数组的话,知道iItemNum是什么值吗?关键在于,sizeof()返回的值并不是数组的总大小,而是数组的个数乘以数组指针的大小。
      

  7.   

    楼上的兄弟,即使我将iItemNum赋予一值,(=2),可是依然没有解决我说的问题啊