在Delphi 5中定位控件,以便在表单调整大小时填充表单客户区域,其大小与最初的大小相同

时间:2010-03-24 04:04:38

标签: delphi forms layout anchor alignment

我在一个分组框上方有一个DBGrid,其中包含一些按钮和编辑字段,另一个分组框位于下面,还有一些按钮。我无法为DBGrid和组框的对齐和/或锚点设置,因此它们填充表单而不重叠或留下空白的表格。

我在XP Pro上使用Delphi 5并安装了所有更新。

2 个答案:

答案 0 :(得分:1)

如果我记得,没有内置的方法可以做到这一点。当我在Delphi中执行此操作时,我在form resize事件的事件处理程序中手动实现它。您可以根据表单的大小和所需布局的比例重新计算每个控件的新位置。您可以通过将表单分成面板并将大多数控件设置为与其父面板的一个或多个边缘对齐来简化它。这样你大多只需要调整几个面板的大小。如果您有复杂的表单,您仍可能需要重新定位一些单独的控件。

您可能还会在那里找到第三方容器控件,这样可以更轻松。我会搜索“流”,“布局”,“表格”,“容器”的组合。

答案 1 :(得分:0)

我们也在努力解决这个问题,我同意Charles M的观点,即没有内置方法可以做到这一点。

如果您正在寻找外部解决方案,Developer Express的ExpressLayout控件允许您微调Delphi表单上控件的位置。他们宣传“屏幕分辨率独立 - 自动调整大小的界面 - 外观和感觉标准化......”,因此可能值得研究。

我从未使用过那个特定的控件,但我们在商业项目中使用了很多其他的Developer Express控件。控制和支持非常好。

请参阅:http://www.devexpress.com/Products/VCL/ExLayoutControl/

他们没有试用版,但确实有60天的无问题退款保证。