treeview setitemdata
场景:Win32-SDK平台下怎么向TreeView节点插入一个对象,就好象实现MFC中SetItemData,GetItemData类似函数的功能()
Win32-SDK平台下如何向TreeView节点插入一个对象,就好象实现MFC中SetItemData,GetItemData类似函数的功能(在线等)
Win32-SDK平台下如何向TreeView节点插入一个对象,就好象实现MFC中SetItemData,GetItemData类似函数的功能
------解决方案--------------------
用lParam保存自定义数据指针。
------解决方案--------------------
TreeView 的每个节点信息都保存在一个结构体中;
这个结构体就是:TVITEM ,它的定义如下:
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); }