如何将树选择传递到MFC中的另一个树选择视图

时间:2018-08-09 15:50:01

标签: mfc treeview window handle

我在MFC窗口应用程序中有两棵树视图。 Tree1和Tree2 如果我在tree1中选择了一项,则应该在tree2中找到并获得选择。

我的代码如下。 选择第一个树项并尝试将其传递给Tree2

void TreePage::TreeSelHandle(NMHDR* pNMHDR, LRESULT* pResult)
{
   CTreeCtrl m_ctlTree1, m_ctlTree2;
   m_ctlTree1.OnTvnSelTreeItem(pNMHDR, pResult);

   NMHDR nmhdr;
   nmhdr.code = TVN_SELCHANGED;
   nmhdr.hwndFrom = m_ctlTree2.GetSafeHwnd();
   nmhdr.idFrom = IDC_MODELVIEW_TREE2;

  if (m_ctlTree2.GetSafeHwnd())
     m_ctlTree2.OnTvnSelTreeItem(&nmhdr, pResult); 
}

TreeSelection代码在下面。

void UITreePageCtrl::OnTvnSelTreeItem(NMHDR *pNMHDR, LRESULT *pResult)
{
   NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;
   CString strTreeText;
   Select(pNMTreeView->itemNew.hItem, TVGN_CARET | TVGN_FIRSTVISIBLE | 
   TVGN_DROPHILITE);
   SelectItem(pNMTreeView->itemNew.hItem);

   strTreeText = GetItemText(pNMTreeView->itemNew.hItem);
   *pResult = 0;
}

这不起作用。 Tree2选择失败。 GetItemText返回null char。 如何解决这个问题?预先感谢。

0 个答案:

没有答案