VC++中 ListCtrl 树控件介绍

翻译|其它|编辑:郝浩|2007-08-22 09:44:54.000|阅读 1862 次

概述:

# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>

ListCtrl  在系统中大量被使用,例如  Windows  资源管理器就是一个典型的例子。

ListCtrl  树形控件功能描述:可以用于树形的结构,其中有一个根接点(Root)然后下面有许多子结点,而每个子结点上有允许有一个或多个或没有子结点。MFC  中使用  CTreeCtrl  类来封装树形控件的各种操作。

调用方法:

BOOL Create( DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID );

创建一个窗口,dwStyle  中可以使用以下一些树形控件的专用风格:

TVS_HASLINES  
在父/子结点之间绘制连线

TVS_LINESATROOT 
在根/子结点之间绘制连线

TVS_HASBUTTONS  
在每一个结点前添加一个按钮,用于表示当前结点是否已被展开

TVS_EDITLABELS 
结点的显示字符可以被编辑

TVS_SHOWSELALWAYS  
在失去焦点时也显示当前选中的结点

TVS_DISABLEDRAGDROP
 
不允许  Drag/Drop

TVS_NOTOOLTIPS 
不使用  ToolTip  显示结点的显示字符

在树形控件中每一个结点都有一个句柄(HTREEITEM),同时添加结点时必须提供的参数是该结点的父结点句柄,利用

HTREEITEM InsertItem( LPCTSTR lpszItem, HTREEITEM hParent = TVI_ROOT, HTREEITEM hInsertAfter = TVI_LAST );

可以添加一个结点,pszItem  为显示的字符,hParent  代表父结点的句柄,当前添加的结点会排在  hInsertAfter  表示的结点的后面,返回值为当前创建的结点的句柄


树控件图像列表

树控件 (Tree Control) (CTreeCtrl) 中的每项都可以有一对与之关联的位图化图像。这些图像出现在项标签的左边。如果选择了该项,就会显示一个图像;如果没有选择该项,就会显示另一个图像。例如,某项可能在选定时显示一个打开的文件夹,而在未选定时显示关闭的文件夹。

若要使用项图像,必须通过构造  CImageList  对象和使用  CImageList::Create  函数创建相关图像列表来创建一个图像列表。然后,将想要的位图添加到创建的列表中, 如果你希望在每个结点前添加一个小图标,就必需先调用  CImageList* SetImageList( CImageList * pImageList, int nImageListType );指明当前所使用的  ImageListnImageListType    TVSIL_NORMAL。在调用完成后控件中使用图片以设置的  ImageList  中图片为准。然后调用

 

HTREEITEM InsertItem( LPCTSTR lpszItem, int nImage, int nSelectedImage, HTREEITEM hParent = TVI_ROOT, HTREEITEM hInsertAfter = TVI_LAST);添加结点,nImage  为结点没被选中时所使用图片序号,nSelectedImage  为结点被选中时所使用图片序号。 


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com

文章转载自:csdn

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP