我将窗口切分为左右两侧,左侧为树控件,右侧为列表控件,现在调用数据库中数据的方法建立了树节点, 在点击树节点时 ,调用数据库中的数据显示在list列表中,有哪位知道该怎么实现呀 

解决方案 »

  1.   

    CodeProject上面有个CHtmlTree有相关的实现,楼主可以参考下...你所描述的是个很简单的过程
      

  2.   


            ON_NOTIFY(NM_CLICK, IDC_TREE_SELECT, OnClickTree)
    ON_NOTIFY(NM_DBLCLK, IDC_TREE_SELECT, OnDblclkTree)
    //鼠标双击树
    void CSelectUserDlg::OnDblclkTree(NMHDR* pNMHDR, LRESULT* pResult) 
    {

    HTREEITEM htm=m_tree_select.GetSelectedItem();
    if(htm && !m_tree_select.ItemHasChildren(htm))
    {
    if(CheckClick()) OnButtonAdd();
    }
    m_pBBDel->SetEnable(FALSE);
    RefreshItemImage();
    *pResult = 0;
    }
    // 鼠标单击树
    void CSelectUserDlg::OnClickTree(NMHDR *pNMHDR,LRESULT *pResult)
    {
    POINT pt;
    ::GetCursorPos(&pt);
    m_tree_select.ScreenToClient(&pt);
    UINT flag;
    HTREEITEM htm=m_tree_select.HitTest(pt,&flag);
    if(htm)
    {
    // 展开树
    if(m_tree_select.GetParentItem(htm)==NULL && (flag ))
    {
    if(TVIS_EXPANDED & m_tree_select.GetItemState(htm,TVIS_EXPANDED))
    {
    if(htm!=m_hNotifyItem)
    {
    m_tree_select.Expand(htm,TVE_COLLAPSE);
    }
    }
    else
    {
    if(htm!=m_hNotifyItem)
    {
    m_tree_select.Expand(htm,TVE_EXPAND);
    }
    }
    PostMessage(UM_USERLIST_SEL,1);
    }
    //选中某条
    else
    {
    PostMessage(UM_USERLIST_SEL,0);
    }
    }
    m_pBBDel->SetEnable(FALSE);
    RefreshItemImage();
    *pResult =0;
    }
      

  3.   

    OnButtonAdd();
    用于实现右侧列表添加功能