树形控件-基础

树形控件-基础

ID:46740871

大小:89.50 KB

页数:8页

时间:2019-11-27

树形控件-基础_第1页
树形控件-基础_第2页
树形控件-基础_第3页
树形控件-基础_第4页
树形控件-基础_第5页
资源描述:

《树形控件-基础》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、VC树形控件TreeCtrl经验总结(一)树形控件可以用于树形的结构,其中冇一个根接点(Root)然后下面冇许多了结点,而每个了结点上有允许有一个或多个或没有子结点。MFC中使用CTreeCtrl类来封装树形控件的各种操作。通过调用BOOLCreate(DWORDdwStyle,constRECT&rect,CWnd*pParentWnd,UINTnID);创建一个窗口,dwStyle中可以使用以下一些树形控件的专用风格:TVS_HASLINES在父/了结点Z间绘制连线TVSJJNESATROOT在根/子结点之间绘制连线TVS_HASBUTTONS在每一个结点前添加一个按

2、钮,用于表示当前结点是否已被展开TVS_EDITLABELS结点的显示字符可以被编辑TVS_SHOWSELALWAYS在失去焦点吋也显示当前选中的结点TVS_DISABLEDRAGDROP不允许Drag/DropTVS_NOTOOLTIPS不使用ToolTip显示结点的显示字符在树形控件中每一个结点都有一个句柄(HTREEITEM),同吋添加结点时必须提供的参数是该结点的父结点句柄,(其中根Root结点只有一个,既不可以添加也不可以删除)利用HTREEITEMInsertltem(LPCTSTRIpszltem,HTREEITEMhParent=TVI_ROOT,HTRE

3、EITEMhlnsertAfter=TVI_LAST);可以添加一个结点,pszltem为显示的字符,hParent代表父结点的句柄,当前添加的结点会排在hlnsertAfter表示的结点的后面,返回值为当前创建的结点的句柄。下面的代码会建立一个如下形式的树形结构:-Parentl+…Child1_1+—Childl_2+—Childl_3+—Parent2-Parent3HTREEITEMhltem,hSubltem;hltem=m_tree.lnsertltem("Parent1H,TVIROOT);在根结点上添加ParentlhSubltem=m_tree.lnse

4、rtltem(nChild1_1M,hItem);//在Parentl上添加一个子结点hSubltem=m_tree.lnsertltem(,,Child1_2"Jhltem,hSubltem);//在Parent!上添加一个子结点,排在Child1_1后面hSubltem=m_tree.lnsertltem(nChild1_3n,hltem,hSubltem);hltem=m_tree.lnsertltem("Parent2",TVI_R00T,hltem);hltem=m_tree.lnsertltem("Parent3”,TVI_R00T,hltem);如果你希望在

5、每个结点前添加一个小图标,就必需先调用ClmageList*SetlmageList(ClmageList*plmageList,intnImageListType);ClmageList指向一个ClmageList对彖,如果这个值为空,则CTreeCtrl中的Image将被移除。nlmageListType有两种,TVSILNORMAL包含选择和被选择两个状态的Image,TVSILSTATE-用户定义状态的Imaqe。在调用完成后控件中使用图片以设置的ImageList中图片为准。然后调用HTREEITEMlnsertltem(LPCTSTRIpszltem,intn

6、Image,intnSelectedlmage,HTREEITEMhParent=TVI_ROOT,HTREEITEMhlnsertAfter=TVI_LAST);添加结点,nlmage为结点没被选中时所使用图片序号,nSelectedlmage为结点被选中时所使用图片序号。下面的代码演示了ImageList的设置。m_list.Create(IDB_TREE,16,4,RGB(0,0,0));mtree.SetlmageList(&mlist,TVSILNORMAL);m_tree.Insertitem(”Parentl”,0,1);//添加,选中时显示图标1,未选中时

7、显示图标0Example2:ClmageListimglist;CBitmapbitmap;imglist.Create(16,16,ILCMASK,1,1);bitmap.LoadBitmap(IDBCOMPUTER);imglist.Add(&bitmap,(COLORREF)OxFFFFFF);bitmap.DeleteObject();treectrl.SetlmageList(&mJmgList,TVSILNORMAL);此外CTreeCtrl还提供了一些函数用于得到/修改控件的状态。HTREEITEMGetSele

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。