资源描述:
《mfc如何使用listcontrol》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、MFC如何使用ListControl以下未经说明,listctrl默认view风格为report相关类及处理函数MFC:CListCtrl类SDK:以“ListView_”开头的一些宏。如ListView_InsertColumn--------------------------------------------------------------------------------1.CListCtrl风格LVS_ICON:为每个item显示大图标LVS_SMALLICON:为每个item显示小图标LVS_LIST:显示一列带有小图标的itemLVS_
2、REPORT:显示item详细资料直观的理解:windows资源管理器,“查看”标签下的“大图标,小图标,列表,详细资料”--------------------------------------------------------------------------------2.设置listctrl风格及扩展风格LONGlStyle;lStyle=GetWindowLong(m_list.m_hWnd,GWL_STYLE);//获取当前窗口stylelStyle&=~LVS_TYPEMASK;//清除显示方式位lStyle
3、=LVS_REPORT;//
4、设置styleSetWindowLong(m_list.m_hWnd,GWL_STYLE,lStyle);//设置styleDWORDdwStyle=m_list.GetExtendedStyle();dwStyle
5、=LVS_EX_FULLROWSELECT;//选中某行使整行高亮(只适用与report风格的listctrl)dwStyle
6、=LVS_EX_GRIDLINES;//网格线(只适用与report风格的listctrl)dwStyle
7、=LVS_EX_CHECKBOXES;//item前生成checkbox控件m_list.SetExtende
8、dStyle(dwStyle);//设置扩展风格--------------------------------------------------------------------------------3.插入数据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”);//设置数
9、据--------------------------------------------------------------------------------4.一直选中item选中style中的Showselectionalways,或者在上面第2点中设置LVS_SHOWSELALWAYS--------------------------------------------------------------------------------5.选中和取消选中一行intnIndex=0;//选中m_list.SetItemState(nIndex,
10、LVIS_SELECTED
11、LVIS_FOCUSED,LVIS_SELECTED
12、LVIS_FOCUSED);//取消选中m_list.SetItemState(nIndex,0,LVIS_SELECTED
13、LVIS_FOCUSED);--------------------------------------------------------------------------------6.得到listctrl中所有行的checkbox的状态m_list.SetExtendedStyle(LVS_EX_CHECKBOXES);CStringstr;fo
14、r(inti=0;i{if(m_list.GetItemState(i,LVIS_SELECTED)==LVIS_SELECTED
15、
16、m_list.GetCheck(i)){str.Format(_T("第%d行的checkbox为选中状态"),i);AfxMessageBox(str);}}--------------------------------------------------------------------------------7.得到listctrl中所有选中行的序号方法一:CStringstr;for(inti=0;i{if(m_l
17、ist.GetItemState(i,LVIS_SE