读书人

Win32-SDK平台下怎么向TreeView节点插

发布时间: 2012-02-28 13:06:36 作者: rapoo

Win32-SDK平台下如何向TreeView节点插入一个对象,就好象实现MFC中SetItemData,GetItemData类似函数的功能(在线等)
Win32-SDK平台下如何向TreeView节点插入一个对象,就好象实现MFC中SetItemData,GetItemData类似函数的功能

[解决办法]
用lParam保存自定义数据指针。
[解决办法]

TreeView 的每个节点信息都保存在一个结构体中;

这个结构体就是:TVITEM ,它的定义如下:

C/C++ code
typedef struct tagTVITEM{    UINT      mask;    HTREEITEM hItem;    UINT      state;    UINT      stateMask;    LPTSTR    pszText;    int       cchTextMax;    int       iImage;    int       iSelectedImage;    int       cChildren;    LPARAM    lParam;} TVITEM, FAR *LPTVITEM;
[解决办法]
看看MFC是怎么做的吧

C/C++ code
BOOL CTreeCtrl::SetItem(HTREEITEM hItem, UINT nMask, LPCTSTR lpszItem, int nImage,    int nSelectedImage, UINT nState, UINT nStateMask, LPARAM lParam){    ASSERT(::IsWindow(m_hWnd));    TVITEM item;    item.hItem = hItem;    item.mask = nMask;    item.pszText = (LPTSTR) lpszItem;    item.iImage = nImage;    item.iSelectedImage = nSelectedImage;    item.state = nState;    item.stateMask = nStateMask;    item.lParam = lParam;    return (BOOL)::SendMessage(m_hWnd, TVM_SETITEM, 0, (LPARAM)&item);} 

读书人网 >VC/MFC

热点推荐