我目前正在开发RAD Studio XE中的GUI应用程序。
在表单中,我创建了两个面板Panel1 and Panel2
。每个面板为Panel1提供两个GroupBox GroupBox1
和GroupBox2
,为Panel2提供GroupBox3
和GroupBox4
,每个GroupBox为GroupBox1提供GridPanel GridPanel1
,{{1} }对于GroupBox2,GridPanel2
表示GroupBox3,GridPanel3
表示GroupBox4,GridPanel4
表示每行和每列都有标签。
现在,当我运行应用程序并将窗口调整为最小化3 Rows and 2 Columns
时。
所以我想要的是每当我最小化窗口时,所有内容都应该显示而不会重叠。
这就是我的表单的样子:image
答案 0 :(得分:-1)
为此目的,有一个属性Align
控件。它的工作原理如下:
为了将表单的客户区域水平分成两部分,将Panel1放入Align=alClient
,将Panel2放入Align=alRight
。如果您拖动窗体的右边框,Panel1保持相同的宽度,Panel2重新调整大小。
如果您想让用户在它们之间移动边框,请放置TSplitter
组件。还要对表单的最小宽度设置约束,以便用户不能使表单变得如此狭窄,以致TSplitter
用完视图。
在4个面板的情况下,我建议首先使用2个面板垂直拆分表格:PanelTop (alClient)
和PanelBottom (alBottom)
,然后将Panel1,2放在PanelTop上,3,4 - 放在{{1}上,水平分割它们。
注意,顶部和底部面板中的垂直分割器将独立移动。如果您希望它们保持同步,或者您希望面板将客户区总是分成相等的部分或任何其他行为,则只需在表单的OnResize事件上编写处理程序即可。分析客户区的当前大小,并根据需要手动设置面板的大小和位置(在这种情况下,您可能不需要拆分器)。