2010-07-07 79 views
4

我想要将某个组件对齐到面板上的Align = alLeft,占据面板的整个左侧。然后还有另一个组件设置为Align = AlTop,但没有优先于左侧对齐的组件,因此它只占用面板顶部,左侧对齐的组件没有占用面板顶部。 (如果那有意义的话)。问题是,我在面板上进行了很多自定义绘图,所以我无法在原来的面板上添加额外的面板来分割面板,并像我通常那样完成对齐。所以我想改变Align如何为这个特定的面板工作。这是否可能?我用Delphi 7 事情是这样的:如何设置“左对齐”优于Delphi 7中的“对齐顶部”?

alt text http://www.freeimagehosting.net/uploads/2ede3a0023.jpg

+1

你可以做一个你正在绘制哪个面板的图表吗?你应该可以用嵌套面板来实现这一点,你可能只需要把你正在绘制的面板放到另一个面板中即可。 – Nat 2010-07-08 12:04:13

回答

2

看看alCustom。我没有看到它现在使用得太多,但here的Demo2可能是您需要的。

+0

谢谢Ulrich。这正是我正在寻找的。我从来不知道如何使用alCustom,这个例子告诉我如何。 – 2010-07-10 15:22:36

4

那么,如果你不能是alTop面板下方有alClient添加一个额外的面板,

那么我的替代方法是使用锚,只需将面板放置在所需的位置,然后将akBottom添加到左侧面板,并将akRight添加到顶部面板。

最后一个选项是自己调整窗体/父容器的OnResize事件中的面板大小。