我在创建子窗体的时候,想让子窗体填满主窗体整个客户区(不是最大化),但是子窗体总是超出客户区导致主窗体出现滚动条,请问有没有办法让子窗体不超出客户区范围?我想要的效果就是子窗体整个显示在客户区内。请大家多多指点下

解决方案 »

  1.   

    可能你的设置有问题吧。可以参考Delphi中的 ..\Demos\Doc\TextEdit\textedit.dpr项目,这是一个主窗体和子窗体例子。
      

  2.   

    还有主窗体的FormStyle要设成:fsMDIForm 子窗体的FormStyle要设成:fsMDIChild
      

  3.   

    可尝试在mdi母窗体resize的时候用win api setwindowpos控制子窗体的大小和位置
      

  4.   

    已经解决,解决方法:在显示子窗体的时候控制子窗体位置和大小。
    left := 0;
    top := 0;
    width := mainform.clientwidth - xx; (xx根据实际情况调整到最合适)
    height := mainform.clientheight - xx; (xx根据实际情况调整到最合适)