一个主mainform,里的菜单含两个子菜单一个1form 2form
我一开始把mainform的formstyle设成fsmdiform
1form,2form的formstyle设成fsmdichild
后来不喜欢了把三个窗口的formstyle设成fsmnormal
结果一运行程序,1form 2form先运行,然后运行mainform三个窗口重叠了,这是为啥
啊???:(郁闷!

解决方案 »

  1.   

    修改项目文件!
    先创建mainfor
      

  2.   

    工程的选项里有自动创建的设置,把自动创建的只留下MaiForm,其他的运行时用代码创建!
      

  3.   

    方法一:
    菜单 -> project -> options -> Forms 
    把启动时候不想启动的窗体从auto-create forms 列表框移到
    available forms 列表框即可方法二:
    修改项目文件
    ---------------------------------------------------
    program Project1;uses
      Forms,
      Unit1 in 'Unit1.pas' {Form1};{$R *.res}begin
      Application.Initialize;
      Application.CreateForm(TForm1, Form1);
      Application.CreateForm(TForm2, Form2);
      Application.CreateForm(TForm3, Form3);
      Application.Run;
    end.
    修改为
    ---------------------------------------------------
    program Project1;uses
      Forms,
      Unit1 in 'Unit1.pas' {Form1};{$R *.res}begin
      Application.Initialize;
      Application.CreateForm(TForm1, Form1);
      Application.Run;
    end.
      

  4.   

    倒,上面的方法二少写了,比如有三个窗体,均为 fsmnormal,
    修改项目文件
    ---------------------------------------------------
    program Project1;uses
      Forms,
      Unit1 in 'Unit1.pas' {Form1};
      Unit2 in 'Unit1.pas' {Form2};
      Unit3 in 'Unit1.pas' {Form3};{$R *.res}begin
      Application.Initialize;
      Application.CreateForm(TForm1, Form1);
      Application.CreateForm(TForm2, Form2);
      Application.CreateForm(TForm3, Form3);
      Application.Run;
    end.
    修改为
    ---------------------------------------------------
    program Project1;uses
      Forms,
      Unit1 in 'Unit1.pas' {Form1};{$R *.res}begin
      Application.Initialize;
      Application.CreateForm(TForm1, Form1);
      Application.Run;
    end.
      

  5.   

    今天真的晕头了,方法二中对unit2 ,unit3的引用不应该删掉,保留,没有了