我必须把parnet赋给一个form,比如mainform,那又如何办?

解决方案 »

  1.   

    在myform.show中加入myform.parent:=mainform;即可
      

  2.   

    你创建的TForm的实例??
    那不是一张空白表单么?
      

  3.   

    我记得用这样的代码就可以了:myform:=Tform.create(Application);
    //myform.parent:=mainform;
    myform.show;
      

  4.   

    to chendaiyin (英) 
    你的意思是不是这样的:创建了一个窗体(parent是主窗体),但是这个子窗体的标题栏确是灰的(即使用鼠标点击上去时也是灰的),这个原因是这样的,简单的说来,在一个窗体中可以获得焦点的控件中TForm类的控件的处理方式是有别于其他类型的控件的。
    如果你想要实现你想要的效果,应该用MDI的结构,这样你新创建的子窗体就可以获得焦点了。方法我就不说了,你自己看看书吧。
      

  5.   

    你的动态创建的窗体,应该在设计时候就把窗体内部的内容设计好。然后在
    OPTION属性中将其设为可引用的窗体,在你要动态创建的地方,在VAR中先声名此窗体,然后在下边再调用。这样就没问题了。
      

  6.   

    楼上几位的方法都不行,难道除了MDI 就没有别的方法了吗?
    To: aladinhxh(航) Tform中没有 OPTION 这个属性.myform:=Tform.create(Application);
    //myform.parent:=mainform;
    myform.show;也不行,现象和 Forren(影子) 说的一样,请各位高人帮帮忙!
      

  7.   

    我好久都不用MDI窗口了,不好控制我用SDI单窗口,主窗口上面是工具栏,左边是导航栏,点击导航栏功能在右边的客户区面板内加载子窗口,特好用,是从别人大型软件里学来的:-)
      

  8.   

    To: blueshrimp(天空还下着沙) 
    能说详细一点吗?
    我要的就是这样的功能.
      

  9.   

    不要用myform.parent:=mainform;,这样老是个灰条。而且还在原窗体的里面。另外用这个试试。myform=Tform.create(self);
                        myform.show;
      

  10.   

    我就是要myform在原窗体里面.
     blueshrimp(天空还下着沙) 说的方法要如何实现?
      

  11.   

    不是,只是简单的想把一个窗体的活动范围限制在一个panel内,不能移出去,最大化后只能充满那个panel 就这样。
      

  12.   

    application.creatform(tform1,form1);
    form1.showmodal;
      

  13.   

    varmyform:Tform;begin
    myform:=Tform.create(nil);
    //myform.parent:=form1;
    Windows.SetParent(myform.Handle,Panel1.Handle);//我拭过了,myform绝对能得到焦点,且能达到你的目的.
    myform.show;end;