我想让我子窗口建立在MDI母窗体的中间!还有建立以后保持设计时的大小,现在一新建子窗口就会变得很大,!请帮帮忙!

解决方案 »

  1.   

    MDIchildfrm:=TMDIchildfrm.create(application);
    MDIchildfrm.top:=MDIfrm.clienthight div 2 - Mdichildfrm.hieght div 2;
    Mdichildfrm.left:=MDIfrm.clientwidth div 2 -Mdichildfrm.width div 2;
    Mdichildfrm.show;
      

  2.   

    子窗体的Position属性设成poMainFormCenter;
    一般来说设计的时候多大,显示的时候就是多大呀,怎么会变得很大呢?
    把子窗体的BorderStyle属性设成bsDialog看看
      

  3.   

    一般情况下我做MDI的时候有一个控件是必不可缺的。是FormStorage控件,好像是RX的吧。我回头看看。所有的MDi子窗体上我都放。该控件完成的任务是在Form显示的时候,从注册表或者Ini文件中获得上次打开时候你的Form的大小和位置,然后重新显示,也可以存储一些其他的东西,只要是这个界面上的控件,他一般都可以将属性存储。
    这样我就不会出现MDI最恶心的事情:所有窗口大小都一致和显示的位置顺序排列。当然你如果想要设置成中间,那你可以再写。
    如果设置成Dialog模式,那么该界面就不是MDI的了。你说是吧。当然,如果该界面显示的时候不使用MDI模式,那也就算了。