我想做一个仿vc 6界面的编辑工具,建了一个控制条,并在其中插入一个树形控件。像vc,当双击树形控件中的某一个类或函数的项时,会打开相应的文件并移动到该类或函数所在的位置。如何实现这个功能?

解决方案 »

  1.   

    void CCxControlTree::OnItemexpanding(NMHDR* pNMHDR, LRESULT* pResult) 
    {
    NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;
    // TODO: Add your control notification handler code here
    HTREEITEM hItemNew = pNMTreeView->itemNew.hItem;  
        
    switch(pNMTreeView->action)
    {
    case   TVE_COLLAPSE://折叠
    // MessageBox(GetItemText(hItemNew),"折叠");
    break;
    case   TVE_EXPAND://展开
    // MessageBox(GetItemText(hItemNew),"展开");
    DisplayItem(hItemNew);
    break;
    }    *pResult = 0;
    }hItemNew为点吉的接点记得给分
      

  2.   

    http://www.vckbase.com/document/viewdoc/?id=257
      

  3.   

    我问的不是树结点的折叠/展开,这个已经实现了。我想实现的是:当双击树形控件的某一个项时,假设它是函数OnDraw(),则会打开OnDraw()所在的cpp文件,并且窗口中显示的正是OnDraw()所在的位置。
    楼上给的文章我看过了,我的树形控件已经建好,现在想加一个双击消息响应,实现上面我说的功能。我用了ScrollWindow函数,但是效果不对,需要重绘整个客户区吗?有没有已有的可利用的函数?
      

  4.   

    没理解到撒意思,如果是想VC那个的话
    每个节点有个DATA,SetItemData(),GetItemData,用来保存数据,你可以把文件的地址信息保存在里面,双击的时候去读DATA里的地址,然后把对应地址的内容显示在现实区域。