MSN的聊天窗口可以多重创建,但又好像是独立的,同主界面没有关联.....
我创建了一个主界面:MainFrm ,然后在主界面创建子窗口:
Application.CreateFrom(TForm2,Form2)
Form2.show在Form2窗口里有一个Panel控件,在Form2的OnCanResize事件里:
Panel1.Width:=For2.Width-100;我执行程序: 在MainFrm 里创建了两个Form2子窗口,当我改变了最后创建的子窗口后,而前面所创建的窗口也跟着变...天啊,有什么办法解决? 怎样创建窗口可以独立,脱离主窗口...这些方法都不行:
Application.CreateForm(TForm1,Form1);
Form1.showForm1:=TForm1.Create(Application);
Form1.show
如果可以解决以上问题,再加100分

解决方案 »

  1.   

    去掉你的程序中的FORM2的自动创建
    在FORM1中使用FORM2。
    var a:TForm2;
    begin
    a:=TForm2.Create(self);
    a.show;
    end;var b:TForm2;
    begin
    b:=TForm2.Create(self);
    b.show;
    end;在form2的onclose事件中添家action:=cafree;
      

  2.   

    Project ---->  Options 设置Form2为available forms;
    Unit1中:
    use Unit2;procedure TForm1.Button1Click(....)
    var
      myForm : TForm2;
    begin
      myForm := TForm2.Create(nil);
      myForm.Show;
    end;
      

  3.   

    Form2应当为一独立窗口,否则会出现异常!
      

  4.   

    我做出来了,把Panel1.Width:=Form2.Width-100; 改成 Panel1.Width:=Self.Width-100;
    就不会变.....
     但是又一个问题:如果我在Form2的窗口再调用 OpenDialog控件或ShowModal一个新窗口,那原来的主界面MainFrm又跟着Form2一样,不能活动,直到把OpenDialog或ShowModal的窗口关掉才可以活动,难道真是要Form2是一个独立窗口,但是我又不想这要做....暂时先给分,我这个问题真是有点难死我了