程序中使用了TFrame作为子窗口,想在主窗口尺寸改变时TFrame能随主窗口而改变尺寸,具体是TFrame距离主窗口上下和左右的距离在任何情况下保持不变。谢了!

解决方案 »

  1.   

    放到一个panel上(有很多好处,不放也可以)
    设置align为alClient
      

  2.   

    我的Frame就是放在Panel上的,请教这位仁兄如何写我需要效果的代码?
      

  3.   

    设置
    Frame.align为alClient
    只要你的Panel改变了,他就跟着变如果要做复杂的,只能在FormResize里写了
      

  4.   

    如果不用Panel直接设置Align也是可以的但是在使用中发现有一些莫名其妙的扭曲,还有其他问题(想不起来了)
      

  5.   

    在TFrame的属性中有Anchors.
    你将四个akLeft,akRight,akTop,akBottom设为真,就会随着它的父类组件的大小而变化。你Frame注册到面板上,像其它控件一样的用。
      

  6.   

    同时你要将align 设为alNone
      

  7.   

    可能是我的问题没有说清楚,我再说清楚一点,我的主窗口为TForm,将TFrame作为子窗口,TFrame的容器为TPanel,TPanel的属性:Auto Size为True,即当其内没有TFrame时将是看不到的,TPanel的大小完全取决于TFrame的大小,现在我即使将TFrame中的Anchors四个属性全设为true,将TFrame的align属性设为alNone都无法达到要的效果,我希望要的效果是TFrame,也就是子窗口能随主窗口的大小变化而产生相应的变化,具体来说是TFrame距离主窗口上下、左右保持一个定值的距离,而且TFrame中的控件其大小要随TFrame的改变而改变,要不看起来就不协调了。
    ------------------------------------
    21世纪的农民
      

  8.   

    把Panel的AutoSize设置成True以后Frame是没有办法自动改变大小的自己写设置函数吧.又没什么难度
      

  9.   

    我就是在函数中设置TFrame的大小,发现不起作用,为什么设置TFrame的大小都不行,是不是TFrame还需要设置什么属性
    ------------------------------------
    21世纪的农民
      

  10.   

    没什么必要的话frame就别放在panel上了吧,呵呵。这样设一下Anchors就OK了。
      

  11.   

    自己写设置函数吧,设置Panel的属性
    Frame不用做别的处理
      

  12.   

    请问设置Panel的什么属性呢?楼上的能说清楚些吗?或者给点示例代码看看?
    ------------------------------------
    21世纪的农民