我想自己生成子窗口,例如在Form1 中生成form2。
form1中的代码:
if (form2 = nil) then
begin
 Form2:=TForm2.create(self);
 Form2.parant:=Form1;
end;
Form2.show;可以生成form2 的子窗口,from2的按纽可以用,最小,最大也可以用,但是form2中的edit文本框里面就不能输入东西,标题栏显示灰色。请问,怎么可以解决这个问题,把焦点放到form2上。另:我已 用过form2.bringtofront,form2.formstyle:=fsstayontop,都没有作用
高手帮忙,急!!!!!!!!!1

解决方案 »

  1.   

    用子窗口别用TForm了,用TFrame吧
      

  2.   

    我试过了,没有问题,你查看一下form2中关于edit的代码,肯定有地方对它进行控制了
      

  3.   

    if (form2 = nil) then
    begin
     Form2:=TForm2.create(self);
     form2.FormStyle:=fsmdichild;
     Form2.Parent:=self;
    end;
    Form2.show;
    end;
      

  4.   

    if (form2 = nil) then
    begin
     Form2:=TForm2.create(self);
     Form2.parant:=Form1;
    end;
    Form2.show;Form2.parant:=Form1;这句需要么??form2中的edit文本框里面就不能输入东西,标题栏显示灰色???
    我估计你是不是form1里有个timer。。会定时将焦点改为form1上的控件上呢。。你考虑一下。。
      

  5.   

    xixuemao(俺可是㊣②㈧经儿滴人),介绍一下Tframe的用法, abc3000(想想就烦) :form2的父窗口是其他窗口,不是自己
      

  6.   

    晕,看清楚了,这段代码是写在哪里的?form1里的,这个self就代表form1.....
    if (form2 = nil) then
    begin
     Form2:=TForm2.create(self);
     form2.FormStyle:=fsmdichild;
     Form2.Parent:=self;
    end;
    Form2.show;
    end;
    我这段代码试过没?
      

  7.   

    你工程文件修改过没?
     
    form1的formstyle改过没?
      

  8.   

    delphi 中有主子窗体应用的demo 
    没有那么复杂,将主窗体formstyle的属性设置为:mdiform
    子窗体的设置为:mdichildform就可以了阿