我有一个附加了侧边栏的应用程序(TPanel
- > alRight
),它在其中使用了CategoryPanel(alClient
)。此CategoryPanel正好有2个未对齐的组。我想分享这两组的边界,以便以50/50的比例填满整个面板空间。不幸的是,CategoryGroups在设计时不支持对齐,这迫使我每次想要测试它时都要运行我的应用程序。我尝试将每个CategoryGroup设置为面板的一半高度,但它显示滚动条。 (见图2)
如何以50/50的比例正确对齐/共享边界?
答案 0 :(得分:5)
根据您的评论,您希望运行此代码:
procedure TForm1.UpdateGroupHeights;
begin
if not CategoryPanel1.Collapsed then
CategoryPanel1.Height := CategoryPanelGroup1.ClientHeight div 2;
if not CategoryPanel2.Collapsed then
CategoryPanel2.Height := CategoryPanelGroup1.ClientHeight -
CategoryPanelGroup1.ClientHeight div 2;
end;
每当您想要影响群组布局的任何更改时。所以我认为您需要从以下事件中调用此函数:
OnCreate
事件。OnResize
的{{1}}事件。TCategoryPanelGroup
和OnCollapse
事件。虽然当一个面板折叠而另一个面板展开时,看起来有点奇怪。就个人而言,我会重新编写代码以填充所有可用空间。
OnExpand