资源描述:
《vc中listcontrol的用法》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、CListCtrl使用技巧以下未经说明,listctrl默认view风格为report相关类及处理函数MFC:CListCtrl类SDK:以“ListView_”开头的一些宏。如ListView_InsertColumn1.CListCtrl风格LVS_ICON:为每个item显示大图标LVS_SMALLICON:为每个item显示小图标LVS_LIST:显示一列带有小图标的itemLVS_REPORT:显示item详细资料直观的理解:windows资源管理器,“查看”标签下的“大图标,小图标,列表,详细资料2.设置listctrl风格及扩展风格LONGlStyle;lStyle
2、=GetWindowLong(m_list.m_hWnd,GWL_STYLE);//获取当前窗口stylelStyle&=~LVS_TYPEMASK;//清除显示方式位lStyle
3、=LVS_REPORT;//设置styleSetWindowLong(m_list.m_hWnd,GWL_STYLE,lStyle);//设置styleDWORDdwStyle=m_list.GetExtendedStyle();dwStyle
4、=LVS_EX_FULLROWSELECT;//选中某行使整行高亮(只适用与report风格的listctrl)dwStyle
5、=LVS_EX_GRIDLIN
6、ES;//网格线(只适用与report风格的listctrl)dwStyle
7、=LVS_EX_CHECKBOXES;//item前生成checkbox控件m_list.SetExtendedStyle(dwStyle);//设置扩展风格注:listview的style请查阅msdnhttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/wceshellui5/html/wce50lrflistviewstyles.asp3.插入数据m_list.InsertColumn(0,"ID",LVCFMT_LEFT
8、,40);//插入列m_list.InsertColumn(1,"NAME",LVCFMT_LEFT,50);intnRow=m_list.InsertItem(0,“11”);//插入行m_list.SetItemText(nRow,1,“jacky”);//设置数据4.一直选中item选中style中的Showselectionalways,或者在上面第2点中设置LVS_SHOWSELALWAYS5.选中和取消选中一行intnIndex=0;//选中m_list.SetItemState(nIndex,LVIS_SELECTED
9、LVIS_FOCUSED,LVIS_SELEC
10、TED
11、LVIS_FOCUSED);//取消选中m_list.SetItemState(nIndex,0,LVIS_SELECTED
12、LVIS_FOCUSED);6.得到listctrl中所有行的checkbox的状态m_list.SetExtendedStyle(LVS_EX_CHECKBOXES);CStringstr;for(inti=0;i{if(m_list.GetItemState(i,LVIS_SELECTED)==LVIS_SELECTED
13、
14、m_list.GetCheck(i)){str.Format(_T("第%d行的checkbox为选中状态"),i);Af
15、xMessageBox(str);}}7.得到listctrl中所有选中行的序号方法一:CStringstr;for(inti=0;i{if(m_list.GetItemState(i,LVIS_SELECTED)==LVIS_SELECTED){str.Format(_T("选中了第%d行"),i);nbsp;AfxMessageBox(str);}}方法二:POSITIONpos=m_list.GetFirstSelectedItemPosition();if(pos==NULL)TRACE0("Noitemswereselected!");else{while(pos)
16、{intnItem=m_list.GetNextSelectedItem(pos);TRACE1("Item%dwasselected!",nItem);//youcoulddoyourownprocessingonnItemhere}}8.得到item的信息TCHARszBuf[1024];LVITEMlvi;lvi.iItem=nItemIndex;lvi.iSubItem=0;lvi.mask=LVIF_TEXT;lvi.pszText=szBuf;lvi.cchTex