动态添加treeview节点的时候怎么实现主窗口的动态增加,并关闭增加窗口时让主窗口刷新,并将新增的东西也显示到主界面上
我的节点显示的代码是在主窗口的MainForm.Formshow事件中写的

解决方案 »

  1.   

    把显示调用treeview的方法从MainForm.Formshow分离出来。
    然后再调用一次就可以了。
      

  2.   

    只能在动态添加treeview节点的事件上写代码实现
      

  3.   

    首先LZ要说明,你的添加节点的窗体功能是1、一次只增加一个节点。 2、全局来增加的
    如果是第一种情况,倒不必要再调用treeview的加载方法,只要在相应的父节点上add一个node就可以了嘛。
    如果是第二种情况,像楼上说的一样,treeview的加载方法另写自定义过程,form.show事件中调用它,新增窗体关闭后,也调用它
      

  4.   

    发消息吧,在主窗体上建一个消息函数,创建小窗体时,把主窗体的句柄传过去,关闭小窗体时,postmessage消息给主窗体
      

  5.   

    直接在小窗口中操作主窗口的Treeview也行。
    比如下面:
    uses
      unit1;
    procedure TForm2.Button1Click(Sender: TObject);
    var
      MyTreeNode1: TTreeNode;
    begin
      with form1.TreeView1.Items do
      begin
        MyTreeNode1 := Add(nil, 'RootTreeNode1');
        AddChild(MyTreeNode1,'ChildNode1');
      end;
    end;
      

  6.   

    几种思路都可以:
    1、MainForm提供刷新树的方法给其他窗体用
    2、其他窗体提供OnNodeChanged事件给MainForm用