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);}