Tree Control 中GetItemData()总是返回0

hyralist 2013-05-09 09:20:26
我再一个函数中建立一个tree
m_tree.DeleteAllItems();
CString title;
title.Format(_T("%s"),CStringW("Video"));
HTREEITEM htitle;
htitle=m_tree.InsertItem(title,0,0,TVI_ROOT);
CString cvideo_id;

HTREEITEM hvideo;
for(vector<string>::size_type ix=0;ix!=sort_video_result.size();++ix)
{
string video_id=sort_video_result[ix];
//将string转化为CString
cvideo_id.Format(_T("%s"),CStringW(video_id.c_str()));
hvideo=m_tree.InsertItem(cvideo_id,0,0,htitle);
m_tree.SetItemData(hvideo,(DWORD)2); //作为试验,就先赋值2 DWORD m;
m=m_tree.GetItemData(hvideo); //立即查看,发现结果正确,m=2 cvideo_id.ReleaseBuffer(0);
}





另外在OnSelchangingVideoId(NMHDR *pNMHDR, LRESULT *pResult)查看,发现

LPNMTREEVIEW pNMTreeView = reinterpret_cast<LPNMTREEVIEW>(pNMHDR);

HTREEITEM SelItem;
SelItem=m_tree.GetSelectedItem();
if(SelItem!=NULL)
{
DWORD m;
m=m_tree.GetItemData(SelItem); //发现m总是为0 *pResult = 0;

}
else
return;


请问是怎么回事?
...全文
125 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
奥雷连诺 2013-05-13
  • 打赏
  • 举报
回复
你用的OnSelchangingVideoId不是双击消息,是双击和上次不同才出发的消息。

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧