请问如何在一个窗体Form上放置两个控件,一个作为标题栏,一个作为内容放在假标题栏下(只能在下,不能和假标题栏重复)?
具体描述如下:
原来的窗体自带的标题栏不要,标题栏要用自己做的,Form作为一个弹出窗口(popup window)使用,取消标题栏功能已经实现了,用一个Panel来替代作为标题栏实现拖动功能也实现了,但在放置另一个控件(如Panel)到窗体上时如果使用Panel1.Top := 0 就会和假标题栏Panel重叠在一起(使用Align属性并重载AlignControls函数没问题),假标题栏用的是Align = alTop最上端对齐。
现在要达到的是:
假标题栏Panel能对齐到窗体的最上端,但其它放在窗体上的控件最高只能放到假标题栏下面,指使用XX.Top :=0的方法,而不是使用Align = alTop的方法。请教各位。

解决方案 »

  1.   

    简单的来说,就是如何控制使放入一个容器(比如Panel)的控件最上面的位置,不能小于某一个值。能根据放入的不同的控件设置不同的上限制。而不管使用Align或使用SetBounds或直接设置Top=X的方法。
      

  2.   

    就我看来,有个另类的方式 --  1.你已经做好的:假标题栏用的是Align = alTop最上端对齐
    2.再添加一个PanelClient,Align = alClient占满,Form的其它区域
    3.
    要达到这个目的
    》但其它放在窗体上的控件最高只能放到假标题栏下面,指使用XX.Top :=0的方法即把它放在窗体上的控件,全部弄到PanelClient上嘿嘿,就是用Penel的布局特性
      

  3.   

    直接XX.Top :=假标题栏的高不就行了