我建了一棵树(Treeview),有节点A,B,C--对应A、B、C的窗口,为MDI的。
当单击A节点的时候打开A窗口作为活动窗口,当单击B节点的时候打开B窗口作为活动窗口,
如果先点击A节点时,怎么在单击B节点的时候也把B窗口关闭呢?(或者最后点击的节点总能把对应的窗口弹出来最前面作为活动窗口)请教。THX!

解决方案 »

  1.   

    var i:integer;
    begin
      if Fm_Main.MDIChildCount<>0 then
      begin
        for i:=0 to Fm_Main.MDIChildCount-1 do
          if Fm_Main.MDIChildren[i]<>FM_MBGL then
            Fm_Main.MDIChildren[i].Close;
      end;
      ShowForm(TFM_MBGL,FM_MBGL);
    end;
    先将所有MDI窗口关闭,然后再打开你需要打开的MDI窗口
      

  2.   

    上述代码改写一下:
    var i:integer;
    begin
      if Fm_Main.MDIChildCount<>0 then
        for i:=0 to Fm_Main.MDIChildCount-1 do
           Fm_Main.MDIChildren[i].Close;
       ........ 
       // Yourcode  你需要打开的窗口!
    end;