请问CTreeCtrl控件的SetItemData能不能设置一个字符串?如果可以怎么设置?
请问CTreeCtrl控件的SetItemData能不能设置一个字符串?如果可以怎么设置? 问题点数:0、回复次数:4Top
1 楼keiy()回复于 2005-04-03 14:32:38 得分 0
CTreeCtrl控件的SetItemData不能设置一个字符串
但可用SetItemText
CTreeCtrl::SetItemText
BOOL SetItemText( HTREEITEM hItem, LPCTSTR lpszItem );
Top
2 楼Mackz(在相互)回复于 2005-04-03 17:22:02 得分 0
Example
// The pointer to my tree control.
extern CTreeCtrl* pmyTreeCtrl;
CString str;
HTREEITEM hItem;
// Insert 20 items into the tree control making every item's
// data be the handle of the item.
for (int i=0;i < 20;i++)
{
str.Format(TEXT("item %d"), i);
hItem = pmyTreeCtrl->InsertItem(str);
if (hItem != NULL)
{
pmyTreeCtrl->SetItemData(hItem, (DWORD) hItem);
}
}
Top
3 楼Mackz(在相互)回复于 2005-04-03 17:24:45 得分 0
LPTSTR szItemData = new TCHAR[str.GetLength() + 1];
lstrcpy(szItemData, (LPCTSTR)str);
pmyTreeCtrl->SetItemData(hItem, (DWORD)szItemData);
在删除节点的时候再释放:
delete [](LPTSTR)pmyTreeCtrl->GetItemData(hItem);Top
4 楼xuzheng318(忧郁王子)回复于 2005-04-03 17:29:35 得分 0
楼上说得很详细了!Top




