资源描述:
《clistctrl用法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、原文地址:CListCtrl控件作者:不知道先生通过这片播客,你可以获得一下信息:1.CListCtrl样式及设置2.扩展样式设置3.数据插入4.一直选中Item5.选中和取消选中Item6.得到CListCtrl中所有行的checkbox的状态7.得到CListCtrl中所有选中行的序号8.得到item的信息9.得到CListCtrl的所有列的header字符串内容10.使CListCtrl中一项可见,即滚动滚动条11.得到CListCtrl列数12.删除所有列13.得到单击的CListCtrl的行列号14.判断是否点击在CListCtrl的c
2、heckbox上15.右键点击CListCtrl的item弹出菜单16.CListCtrl进行大数据量更新时,避免闪烁!时间仓促,此播客内容大多为网上整理,特向原作者表示感谢!1.CListCtrl样式及设置 LVS_ICON:每个item显示大图标 LVS_SMALLICON:每个item显示小图标 LVS_LIST:显示一列带有小图标的item LVS_REPORT:显示item详细资料 如windows资源管理器,“查看”标签下的“大图标,小图标,列表,详细资料” LONGlStyle; lStyle=GetWindowLong(m_Li
3、stCtrl.m_hWnd,GWL_STYLE);//获取当前窗口style lStyle&=~LVS_TYPEMASK;//清除显示方式位 lStyle
4、=LVS_REPORT;//设置style SetWindowLong(m_ListCtrl.m_hWnd,GWL_STYLE,lStyle);//设置style2.扩展样式设置 DWORDdwStyle=m_ListCtrl.GetExtendedStyle(); //获取当前扩展样式 dwStyle
5、=LVS_EX_FULLROWSELECT;//选中某行使整行高亮(report风格时)
6、dwStyle
7、=LVS_EX_GRIDLINES;//网格线(report风格时) dwStyle
8、=LVS_EX_CHECKBOXES;//item前生成checkbox控件 m_ListCtrl.SetExtendedStyle(dwStyle);//设置扩展风格3.数据插入 m_ListCtrl.InsertColumn(0,"名称",LVCFMT_LEFT,50);//插入列 m_ListCtrl.InsertColumn(1,"备注",LVCFMT_LEFT,50); //直接插入: intnRow=m_ListCtrl.Inser
9、tItem(0,"VC++"); //插入行 m_ListCtrl.SetItemText(nRow,1,"VisualC++6.0"); //设置数据 //LVITEM结构插入: LVITEMitem={0}; item.iItem=0; //行号 item.mask=LVIF_TEXT;/*LVIF_IMAGE支持图标*/; item.cchTextMax=15;//插入字符串长度 item.pszText="VisualC++6.0"; intnRow=m_ListCtrl.InsertItem(&item); m_ListC
10、trl.SetItemText(nRow,1,"VisualC++6.0");4.一直选中Item 选中style中的Showselectionalways, 或者添加扩展样式LVS_SHOWSELALWAYS5.选中和取消选中Item intnIndex=0; //选中 m_ListCtrl.SetItemState(nIndex,LVIS_SELECTED
11、 LVIS_FOCUSED,LVIS_SELECTED
12、LVIS_FOCUSED); //取消选中 m_ListCtrl.SetItemState(nIndex,0,LVIS_SELEC
13、TED
14、LVIS_FOCUSED);6.得到CListCtrl中所有行的checkbox的状态 CStringstr; for(inti=0;i15、
16、m_ListCtrl.GetCheck(i)) { str.Format(_T("第%d行的checkbox为选中状态"),i); AfxMessageBox(str); } }7
17、.得到CListCtrl中所有选中行的序号 //方法一: CStringstr; for(inti=0;i