ListView设成Report模式,然后添加Header,发现iSubItem无论填什么,都不会影响程序运行结果。
而InsertColumn(—,&lvcolumn)中—才起决定作用。请问:LVCOLUMN.iSubItem和LVCF_SUBITEM
起什么作用? LVCOLUMN lvcolumn; lvcolumn.mask=LVCF_TEXT|LVCF_WIDTH|LVCF_SUBITEM;
lvcolumn.cx=50;
lvcolumn.iSubItem=0;
lvcolumn.pszText="Note 1";
m_LstVwDetails.InsertColumn(0,&lvcolumn); lvcolumn.mask=LVCF_TEXT|LVCF_WIDTH|LVCF_SUBITEM;
lvcolumn.cx=50;
lvcolumn.iSubItem=2;
lvcolumn.pszText="Note 2";
m_LstVwDetails.InsertColumn(1,&lvcolumn); m_LstVwDetails.GetColumn(1,&lvcolumn); lvcolumn.mask=LVCF_TEXT|LVCF_WIDTH|LVCF_SUBITEM;
lvcolumn.cx=50;
lvcolumn.iSubItem=1;
lvcolumn.pszText="Status";
m_LstVwDetails.InsertColumn(2,&lvcolumn);
而InsertColumn(—,&lvcolumn)中—才起决定作用。请问:LVCOLUMN.iSubItem和LVCF_SUBITEM
起什么作用? LVCOLUMN lvcolumn; lvcolumn.mask=LVCF_TEXT|LVCF_WIDTH|LVCF_SUBITEM;
lvcolumn.cx=50;
lvcolumn.iSubItem=0;
lvcolumn.pszText="Note 1";
m_LstVwDetails.InsertColumn(0,&lvcolumn); lvcolumn.mask=LVCF_TEXT|LVCF_WIDTH|LVCF_SUBITEM;
lvcolumn.cx=50;
lvcolumn.iSubItem=2;
lvcolumn.pszText="Note 2";
m_LstVwDetails.InsertColumn(1,&lvcolumn); m_LstVwDetails.GetColumn(1,&lvcolumn); lvcolumn.mask=LVCF_TEXT|LVCF_WIDTH|LVCF_SUBITEM;
lvcolumn.cx=50;
lvcolumn.iSubItem=1;
lvcolumn.pszText="Status";
m_LstVwDetails.InsertColumn(2,&lvcolumn);
子选项的index
m_LstVwDetails.InsertColumn(1,"Note 2",LVCFMT_IMAGE,60,2);
m_LstVwDetails.InsertColumn(2,"Status",LVCFMT_IMAGE,60,1);
然后
m_LstVwDetails.InsertItem(0,"First Item");
m_LstVwDetails.SetItemText(0,1,"SubItem1");
m_LstVwDetails.SetItemText(0,2,"SubItem2"):上面InsertColumn中的iSubItem随便填都不会影响结果,你们不信试试
LV_ITEM lvitem;
lvitem.mask=LVIF_TEXT|LVIF_IMAGE|LVIF_PARAM;
lvitem.pszText=...
...///省略vlitem结构的成员设置
iPos=m_ListCtrl.InsertItem(&lvitem);//返回表项插入后的索引号
//
m_LstVwDetails.InsertColumn(...);///这里再设置iSubItem为上面返回的iPos
而且通常都是先加column,再加多个item的。
lvcol.fmt=LVCFMT_CENTER;//居中i=0;
lvcol.pszText="品 名";
lvcol.iSubItem=i;
lvcol.cx=70;
m_ListCtrl.InsertColumn(i++,&lvcol);lvcol.pszText="数 量";
lvcol.iSubItem=i;
lvcol.cx=70;
m_ListCtrl.InsertColumn(i++,&lvcol);每次iSubItem加一,其实啊,随便瞎填, 运行结果也没变化。
因为那个InsertColumn第一个参数早就告诉系统了,那个结构的iSubItem形同虚设!!