我该怎么 办???///
我有一个数据结构,里面有很多数据,请问该怎样把这样的数据结构作为树的一个条目保存在树视图中。
是将这样的一个条目添加到树视图的一个Item中。因为树视图中Item的数据结构如下:
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;
可我的数据为:
房间分类信息类CCateInfo
typedef struct tagCATEINFO{
BYTE btCateType;
DWORD dwCateID;
DWORD dwFatherID
CString strCateName
BYTE btSonCateNum
BYTE btSonRoomNum
}CateInfo;
该怎样把这样的数据结构表示的信息放置到树视图中。当我访问一个Item是,就可以访问这个结点的所有数据信息。
友人告诉解决方法是
:
你在别的地方定义你的CateInfo实体,把&CateInfo引用指针强制转换(LPARAM)&CateInfo
给lParam赋值.使用时再CateInfo * pCateInfo = (CateInfo * )lParam即可
和
在MFC中可以使用BOOL CTreeCtrl::SetItemData( HTREEITEM hItem, DWORD dwData );
来做,就是用树中每个子项相关联数据块的指针做为第二参数.
当使用该数据块时使用
CateInfo* pInfo = (CateInfo*)pYourTreeCtrl->GetItemData(hItem);
取出该数据即可...
由VIEW取控件使用:
CTreeCtrl& CTreeView::GetTreeCtrl( ) const;
。
我在程序中使用
CateInfo* pInfo = (CateInfo*)pYourTreeCtrl->GetItemData(hItem);
但得到的地址始终为0;这是不对的,我该怎么办?请各位帮帮忙!