树形控件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);
第二步,选择控件的风格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);
相关文章推荐
- 树形控件CTreeCtrl的使用详解(一)
- 】VC中树形控件(CTreeCtrl)的使用
- 树形控件ctreectrl的使用详解
- 树形控件(CTreeCtrl)使用简介
- VC中树形控件(CTreeCtrl)的使用
- VC中树形控件(CTreeCtrl)的使用
- VC++中树形控件CTreeCtrl的使用
- VC中树形控件(CTreeCtrl)的使用
- VC中树形控件(CTreeCtrl)的使用
- 树形控件(CTreeCtrl)使用简介
- 树形控件CTreeCtrl的使用详解(一)
- VC 控件的使用_1 树形控件(CTreeCtrl)使用简介
- VC中树形控件(CTreeCtrl)的使用
- 树形控件CTreeCtrl的使用
- [置顶] MFC树形控件CTreeCtrl使用方法、遍历、SetCheck无效、根据名称获取节点、获取选中节点等问题
- VC++中树形控件CTreeCtrl的使用
- VC中树形控件(CTreeCtrl)的使用
- 树形控件CTreeCtrl的使用详解(三)
- 树形控件(CTreeCtrl)使用简介
- 树形控件CTreeCtrl的使用