您的位置:首页 > 其它

树形控件Ctreectrl的使用

2013-01-16 11:18 274 查看
第一步,创建树形控件视窗通过调用 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显示结点的显示字符 

在创建之初设置控件的风格外,还可以用ModifyStyle(0,TVS_HASBUTTONS   |   TVS_LINESATROOT   |   TVS_HASLINES)来设置控件的风格。

第三步,树形控件节点的添加。HTREEITEM InsertItem( LPCTSTR lpszItem, HTREEITEM hParent = TVI_ROOT, HTREEITEM hInsertAfter = TVI_LAST );可以添加一个结点,pszItem为显示的字符,hParent代表父结点的句柄,当前添加的结点会排在hInsertAfter表示的结点的后面,返回值为当前创建的结点的句柄。

第四步,设置节点前的图标。调用CImageList* SetImageList( CImageList * pImageList, int nImageListType );

 CBitmap bmp;

 if (!bmp.LoadBitmap(IDB_MODELTREE))

 {

  AfxMessageBox(_T("位图加载失败"));

 }

 BITMAP bmpObj;

 bmp.GetBitmap(&bmpObj);

 UINT nFlags = ILC_MASK;

 nFlags |= (theApp.m_bHiColorIcons) ? ILC_COLOR24 : ILC_COLOR4;

 m_limagelist.Create(16, bmpObj.bmHeight, nFlags, 0, 0);

 m_limagelist.Add(&bmp,RGB(255,255,255));

 SetImageList(&m_imagelist,TVSIL_NORMAL);

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: