void CEx08aDialog::OnTvnSelchangedTreeview1(NMHDR *pNMHDR, LRESULT *pResult)
{
LPNMTREEVIEW pNMTreeView = reinterpret_cast<LPNMTREEVIEW>(pNMHDR);
CTreeCtrl* pTree = (CTreeCtrl*) GetDlgItem(IDC_TREEVIEW1);
HTREEITEM hSelected = pNMTreeView->itemNew.hItem;
if (hSelected != NULL) {
char text[31];
TV_ITEM item;
item.mask = TVIF_HANDLE | TVIF_TEXT;
item.hItem = hSelected;
item.pszText = text;
item.cchTextMax = 30;
VERIFY(pTree->GetItem(&item)); //同时跟新了item.pszText 和 text;
SetDlgItemText(IDC_STATIC_TREEVIEW1, text);
}
*pResult = 0;
} 在技术内幕中看到如上代码,就是当用户选中某个节点所触发的消息处理函数,在这个函数中主要目的就是将选中的节点内容显示到一个静态文本中,我就是对text这个变量是何时被赋值的有点搞不懂,从上面的代码来看,text只出现过在等号的右边,最后SetDlgItemText(IDC_STATIC_TREEVIEW1, text);却能把已经有了值的text赋给IDC_STATIC_TREEVIEW1控件?请高手指点一下啊
前面都设置好了,我想是通过这句,把树结点上的文本赋值给text。