資源描述:
《mfc之listcontrol控件》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)。
1、listcontrol控件(一)以下未經(jīng)說(shuō)明,listctrl默認(rèn)view風(fēng)格為report-------------------------------------------------------------------------------1.CListCtrl風(fēng)格???????LVS_ICON:為每個(gè)item顯示大圖標(biāo)???????LVS_SMALLICON:為每個(gè)item顯示小圖標(biāo)???????LVS_LIST:顯示一列帶有小圖標(biāo)的item???????LVS_REPORT:顯示item詳細(xì)資料直觀的理解:windows資源管理器,"查看
2、"標(biāo)簽下的"大圖標(biāo),小圖標(biāo),列表,詳細(xì)資料--------------------------------------------------------------------------------2.設(shè)置listctrl風(fēng)格及擴(kuò)展風(fēng)格???????LONGlStyle;???????lStyle=GetWindowLong(m_list.m_hWnd,GWL_STYLE);//獲取當(dāng)前窗口style???????lStyle&=~LVS_TYPEMASK;//清除顯示方式位???????lStyle
3、=LVS_REPORT;//設(shè)置style??
4、?????SetWindowLong(m_list.m_hWnd,GWL_STYLE,lStyle);//設(shè)置style???????DWORDdwStyle=m_list.GetExtendedStyle();???????dwStyle
5、=LVS_EX_FULLROWSELECT;//選中某行使整行高亮(只適用與report風(fēng)格的listctrl)dwStyle
6、=LVS_EX_GRIDLINES;//網(wǎng)格線(只適用與report風(fēng)格的listctrl)dwStyle
7、=LVS_EX_CHECKBOXES;//item前生成checkbox控件m_
8、list.SetExtendedStyle(dwStyle);//設(shè)置擴(kuò)展風(fēng)格注:listview的style請(qǐng)查閱msdn??????。3.插入數(shù)據(jù)???????m_list.InsertColumn(0,"ID",LVCFMT_LEFT,40);//插入列???????m_list.InsertColumn(1,"NAME",LVCFMT_LEFT,50);???????intnRow=m_list.InsertItem(0,"11");//插入行???????m_list.SetItemText(nRow,1,"jacky");//設(shè)置數(shù)據(jù)---
9、----------------------------------------------------------4.一直選中item選中style中的Showselectionalways,或者在上面第2點(diǎn)中設(shè)置LVS_SHOWSELALWAYS-------------------------------------------------------------5.選中和取消選中一行intnIndex=0;//選中m_list.SetItemState(nIndex,LVIS_SELECTED
10、LVIS_FOCUSED,LVIS_SELECTE
11、D
12、LVIS_FOCUSED);//取消選中?????m_list.SetItemState(nIndex,0,LVIS_SELECTED
13、LVIS_FOCUSED);------------------------------------------------------------6.得到listctrl中所有行的checkbox的狀態(tài)m_list.SetExtendedStyle(LVS_EX_CHECKBOXES);CStringstr;for(inti=0;i14、ItemState(i,LVIS_SELECTED)==LVIS_SELECTED
15、
16、m_list.GetCheck(i)){str.Format(_T("第%d行的checkbox為選中狀態(tài)"),i);AfxMessageBox(str);}}------------------------------------------------------------7.得到listctrl中所有選中行的序號(hào)方法一:???????CStringstr;???????for(inti=0;i17、{???????????if(m_list.GetItemState(i,LVIS_SELEC