up

解决方案 »

  1.   


    遍历这个树,用GetCheck判断有没有被选中
      

  2.   

    我用了GetCheck但是不行,你能不能说详细一点?
    最好是有代码的。
      

  3.   

    BOOL GetCheck( HTREEITEM hItem )首先你得得到每一个节点:
    1。先得到根节点HTREEITEM GetRootItem( );
    2。用HTREEITEM GetChildItem( HTREEITEM hItem );得到子节点(msdn上的代码):
    if (pmyTreeCtrl->ItemHasChildren(hmyItem))
    {
       HTREEITEM hNextItem;
       HTREEITEM hChildItem = pmyTreeCtrl->GetChildItem(hmyItem);   while (hChildItem != NULL)
       {
          hNextItem = pmyTreeCtrl->GetNextItem(hChildItem, TVGN_NEXT);
          hChildItem = hNextItem;
       }
    }在得到每一个节点的时候,你就可以用GetCheck()得到你想要的
      

  4.   

    我把这代码加到OnSelchangedTree1(NMHDR* pNMHDR, LRESULT* pResult) ,出现很多错误啊?
    为什么?
      

  5.   

    if (pmyTreeCtrl->ItemHasChildren(hmyItem))
    {
       HTREEITEM hNextItem;
       HTREEITEM hChildItem = pmyTreeCtrl->GetChildItem(hmyItem);   while (hChildItem != NULL)
       {
          hNextItem = pmyTreeCtrl->GetNextItem(hChildItem, TVGN_NEXT);//在这里可以做你想要做的事      if (GetCheck(hNextItem))
          {
                MessageBox("选中节点:" + GetItemText(hNextItem));
          }      hChildItem = hNextItem;
       }
    }
      

  6.   

    GetItemText() undeclared undetifier!!
      

  7.   

    哦,忘了,应该是
    pmyTreeCtrl->GetItemText
      

  8.   

    我有这种例子
    [email protected]