gpt4 book ai didi

delphi - 如何防止两个对齐底部控件的顺序颠倒?

转载 作者:行者123 更新时间:2023-12-03 15:03:48 37 4
gpt4 key购买 nike

我有一个包含三个主要组成部分的表单:

  1. 设置为与客户端对齐的 FlowPanel
  2. 将第二个 FlowPanel 设置为“对齐到底部”
  3. 状态栏设置为“与底部对齐”。

一切开始看起来都很棒。但与底部对齐的FlowPanel也设置为AutoSize。它包含一个可以自行折叠的面板。内部面板包含用户可以决定隐藏的摘要信息。这会将 FlowPanel 的大小减小到非常小,但并未完全消失。还有一个按钮,用户可以在其中重新展开摘要面板。

当面板重新展开导致 FlowPanel 增大时,就会出现问题。此时 Status Bar 和 FlowPanel 的顺序相反。它们仍然设置为底部对齐,但现在状态栏位于我的 FlowPanel 上方。

我可以在没有折叠面板的测试应用程序中复制此内容,只需在表单上放置按钮即可查看底部流程面板的高度。如果高度增加,顺序就会改变。如果减少,那么一切都会保持相同的顺序。我的测试表单中唯一的代码是:

FlowPanel2.Height := FlowPanel2.Height * 2;

我还使用底部面板作为常规 TPanel 而不是 FlowPanel 进行了测试,结果相同。

关于为什么会发生这种情况以及如何预防它有什么想法吗?

Moving Status bar image

最佳答案

我的解决方案:

  1. 将状态栏放置在表单上并与底部对齐
  2. 在表单上放置一个面板 (Container_Panel) 并与客户端对齐
  3. 将 FlowPanel 放置在 Container_Panel 上并与底部对齐
  4. 将 FlowPanel 放置在 Container_Panel 上并与客户端对齐

现在你应该不再有任何问题了

关于delphi - 如何防止两个对齐底部控件的顺序颠倒?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13979704/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com