我的问题是这样的
如果有下列一个tree列表图
 A
 |
  — B
 |  |
 |   — B1
 |  |
 |   — B2
 |—C
    |
     — C1
    |
     — C2我现在就是想动态(我执行一个操作,然后发一个消息让它插入)往 B下面插子节点
我直接用了 m_tree->InsertItem(_T("dd"), 0, 0, m_htrFilter);
m_htrFilter是B点的
但插完了什么效果都没有,不知道什么原因
谢谢

解决方案 »

  1.   

    请查看你在InsertItem的时候父节点的句柄(m_htrFilter)是否确实有效。
    再一个插入后调用Expand打开收缩的节点。
      

  2.   

    回复楼上
    m_htrFilter是有效值
    我用根节点插入就没有问题
      

  3.   

    m_tree->InsertItem(_T("dd"), m_htrFilter); 应该就可以吧:)感觉你代码没问题,除非m_htrFilter不是B的HTREEITEM值
      

  4.   

    m_tree 我是这样 m_tree->Create(TVS_HASBUTTONS | 
    TVS_HASLINES | TVS_LINESATROOT | TVS_EDITLABELS | 
    WS_BORDER | WS_TABSTOP,
    rect,this,TREE_WATCH_ID);创建的
      

  5.   

    这行代码没问题,如果返回NULL就表示失败了。m_tree和m_htrFilter是怎么得到的?
      

  6.   

    这个值是我保存的,m_tree是一个new出来的对象,m_htrFilter是保存的,我用程序获取的值与我保存的值是一样的。
    然后我用GetItemText获取出来的文字也是对的,它应该是没有问题
      

  7.   

    不是null,我查看过了值是 0x00161438,这是正常的
      

  8.   

    现在是用什么做的?
    可以试试添加之后执行m_tree->Invalidate()。
      

  9.   

    此问题用另外的方法本人解决了
    总结一下,本人用了new的方式创建的树在添加的时候确实是存在这个问题,我找不到有问题的地方,所以我猜想这个问题应该是由于某个或某些设置有问题,由于项目时间紧,没有深究,有时间我把这搞明白了,后来用的添加控件的方式,就没有发生这样的问题了。还是控件方便啊,但有时候还是new出来的简洁。
    好了我一会把分分分