- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
6.4.2 列表控件和列表视图 列表控件是一种极为有用的控件之一,它可以用 “大图标”、“小图标”、“列表视 图”或“报表视图”等四种不同的方式来显示一组信息,如图6.16所示。 图6.16 列表控件样式 6.4.2 列表控件和列表视图 1. 列表控件的风格及其修改 列表控件的风格有两类,一类是一般风格,如表6.11所示;另一类是Visual C++ 6.0在原有 的基础上添加的扩展风格,如LVS_EX_FULLROWSELECT,表示整行选择,但它仅用于 “报表视图”显示方式中。 表6.11 列表控件的一般风格 6.4.2 列表控件和列表视图 2. 列表项的基本操作 CListView按照MFC文档视图结构封装了列表控件CListCtrl类的功能。由于它又 是从CCtrlView中派生的,因此它既可以调用CCtrlView的基类CView类的成员函 数,又可以使用CListCtrl功能。当使用CListCtrl功能时,必需先要得到CListView 封装的内嵌可引用的CListCtrl对象,这时可调用CListView的成员函数GetListCtrl, 如下面的代码: CListCtrl listCtrl = GetListCtrl(); // listCtrl必须定义成引用 列表控件类CListCtrl提供了许多用于列表项操作的成员函数,如列表项与列的添 加和删除等,下面分别介绍。 (1) 函数SetImageList用来为列表控件设置一个关联的图像列表,其原型如下: CImageList* SetImageList( CImageList* pImageList, int nImageList ); 其中,nImageList用来指定图像列表的类型,它可以是LVSIL_NORMAL(大图标)、 LVSIL_SMALL(小图标)和LVSIL_STATE(表示状态的图像列表)。 6.4.2 列表控件和列表视图 2. 列表项的基本操作 函数InsertItem用来向列表控件中插入一个列表项。该函数成功时返回新列表项 的索引号,否则返回-1。函数原型如下: int InsertItem( const LVITEM* pItem ); int InsertItem( int nItem, LPCTSTR lpszItem ); int InsertItem( int nItem, LPCTSTR lpszItem, int nImage ); 其中,nItem用来指定要插入的列表项的索引号,lpszItem表示列表项的文本标 签,nImage表示列表项图标在图像列表中的索引号;而pItem用来指定一个指向 LVITEM结构的指针,其结构描述如下: typedef struct _LVITEM { UINT mask; // 指明哪些参数有效 int iItem; // 列表项索引 int iSubItem; // 子项索引 UINT state; // 列表项状态 UINT stateMask; // 指明state哪些位是有效的,-1全部有效 LPTSTR pszText; // 列表项文本标签 int cchTextMax; // 文本大小 int iImage; // 在图像列表中列表项图标的索引号。 LPARAM lParam; // 32位值 int iIndent; // 项目缩进数量,1个数量等于1个图标的像素宽度 } LVITEM, FAR *LPLVITEM; 结构中,mask最常用的值可以是: LVIF_TEXT pszText有效或必须赋值。 LVIF_IMAGE iImage有效或必须赋值。 LVIF_INDENT iIndent有效或必须赋值。 6.4.2 列表控件和列表视图 2. 列表项的基本操作 函数DeleteItem和DeleteAllItems分别用来删除指定的列表项和全部列表项,函数原型如下: BOOL DeleteItem( int nItem ); BOOL DeleteAllItems( ); 函数FindItem用来查寻列表项,函数成功查找时返回列表项的索引号,否则返回-1。其原型如下: int FindItem( LVFINDINFO* pFindInfo, int nStart = -1 ) const; 其中,nStart表示开始查找的索引号,-1表示从头开始。pFindInfo表示要查找的信息,其结构描述 如下: typedef struct tagLVFINDINFO { UI
文档评论(0)