我想把一些很小的表放在一个视图中显示,并对其操作:添加,删除,修改等和把一列当一个Clistctrl的效果差不多,这样的想法可行吗?如果可以的话,请给个思路。或者,其他的方案,总之不想对一大堆表分别处理。

解决方案 »

  1.   

    当然可以,CListCtrl list;
    list.SetItemText(iRow,iCol,strValue);
      

  2.   

    m_listComputer.SetExtendedStyle(LVS_EX_FULLROWSELECT);
    m_listComputer.ModifyStyle(0,LVS_REPORT | LVS_SHOWSELALWAYS);
    m_listComputer.SendMessage(LVM_SETEXTENDEDLISTVIEWSTYLE,0,
    LVS_EX_HEADERDRAGDROP | //允许表头的拖放
    LVS_EX_GRIDLINES | //显示分隔线
    LVS_EX_FULLROWSELECT); //整行选中 m_listComputer.InsertColumn(SUB_ITEM_STATUS, "机器状态", LVCFMT_LEFT, 70);
    m_listComputer.InsertColumn(SUB_ITEM_SERIAL, "机器号", LVCFMT_LEFT, 55);
    m_listComputer.InsertColumn(SUB_ITEM_TIMEON, "上机时间", LVCFMT_LEFT, 130);
    m_listComputer.InsertColumn(SUB_ITEM_FEETYPE, "计费类型", LVCFMT_LEFT, 65);
    ..........
    .....
    m_listComputer.SetItemText(i, SUB_ITEM_TIMEON, t_S);//temp->info.start_time);
    m_listComputer.SetItemText(i, SUB_ITEM_IP, com_info.computer_ip);
    m_listComputer.SetItemText(i, SUB_ITEM_COMPANY, com_info.card_unit );
      

  3.   

    单独用一个list.SetItemText(iRow,iCol,strValue);
    是不是不行?一定要和INSERTITEM配合用?
      

  4.   

    如果你这个列表的这一行头项确定定义了,就可以只使用SetItemText(iRow,iCol,strValue);如果你是全新的写一行,就先用INSERTITEM定义第一项后面的就可以用SetItemText了如果你要把表中的数据写出来,那就读一条写一条