ListCtrl用法实践.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ListCtrl用法实践

概述ListCtrl由四种风格的实现:Icons,使用32*32大小的图标显示列表。Small Icons,使用16*16大小的图标显示一个单一列的列表。List,使用Small Icons,可有多列,第二列必须填充之前必须填充第一列,自上而下排序。Report,编程者自定义的格式显示列表。ListCtrl介绍创建一个“基于对话框”的MFC应用程序,命名为ListCtrl。(1)创建ListCtrl一般来说ListCtrl控件的创建都是直接拖拽工具箱中的控件完成的。如果要用代码实现,则应该在ListCtrlDlg.cpp中的OnInitDialog()函数中实现。一般对ListCtrl的属性的更改也应该在此函数中。CListCtrl *lstCtrl = new CListCtrl;lstCtrl-Create(WS_CHILD | WS_VISIBLE,CRect(10, 10, 320, 280), this, 0x285);为了防止内存泄露,正确的做法是,在ListCtrlDlg.h头文件中添加变量m_ListCtrl,在OnInitDialog中new,最后在析构函数中Delete。(2)ListCtrl风格ListCtrl的风格可以在List的View属性中更改。图1.Icon风格LVS_ICON图2.Small Icon风格:LVS_SMALLICON图3.List风格:LVS_LIST图4.Report风格:LVS_REPORT(3)ListCtrl扩展风格调用CListCtrl::SetExtendStyle()方法可以为ListCtrl设置扩展风格,语法为:DWORD SetExtendedStyle(DWORD dwNewStyle);参数值有:LVS_EX_CHECKBOXES:在最左侧显示选择框(check box)LVS_EX_FULLROWSELECT:这种风格允许Report View的整行来被选择而不是仅仅一项LVS_EX_TRACKSELECT:当设置这种风格的时候,用户可以隔项选取LVS_SINGLESEL:禁止用户一次选择多项LVS_SHOWSELALWAYS:ListCtrl在失去焦点时,已选择的项仍处于选中状态LVS_EX_GRIDLINES:显示网格设置扩展风格,可以先创建一个DWORD变量,然后对变量赋值。如果想用多种风格,可以用|操作。注:listview的style请查阅msdn/library/default.asp?url=/library/en-us/wceshellui5/html/wce50lrflistviewstyles.asp创建一个ListCtrl添加List的项调用CListCtrl::InsertItem()方法来为List添加该有的项。声明如下:int InsertItem(const LVITEM* pItem);注:此方法适用于ListCtrl风格为List时,风格为Report则无法显示数据。此方法需要用到一个LVITEM的指针,LVITEM为一个结构体,其中比较重要的参数有:mask:用来指定你像个当前项设置的类型。iItem:指定项的索引,第一个item应该为0,第二个item为1等等iSumItem:当前值的的子项,如果当前项是主导项,iSumItem应该存储从0开始的数组pszText:要显示项的字符串cchTextMask:指定文本的长度使用上述方法,为List添加一项:(m_StoreItems为ListCtrl变量)LVITEM lvItem;lvItem.mask = LVIF_TEXT;lvItem.iItem = 0;lvItem.iSubItem = 0;lvItem.pszText = _T(Sandra C. Anschwitz);m_StoreItems.InsertItem(lvItem);但是我们平时经常用的InsertItem方法为:int InsertItem(int nItem, LPCTSTR lpszItem);构建ListCtrl如果选择ListCtrl的风格为Report,那么在添加项之前,要先创建列。我们可以使用CListCtrl::InsertColumn()方法,(1)它的一种声明为:int InsertColumn(int nCol, const LVCOLUMN* pColumn);nCol:是要创建的列的索引pColumn:是指向LVCOLUMN结构的一个指针typedef struct _LVCOLUMN { UINT mask; int fmt; int cx; LPTSTR pszText; int cchTextMax; int iSu

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档