次の 3 つの主要コンポーネントを含むフォームがあります。
- クライアントに整列するように設定された FlowPanel
- 下揃えに設定された 2 番目の FlowPanel
- [下に揃える] に設定された StatusBar。
すべてが見栄えから始まります。ただし、下に配置されている FlowPanel も AutoSize に設定されています。それ自体を折りたたむことができるパネルが含まれています。内部パネルには、ユーザーが非表示にできる概要情報が含まれています。これにより、FlowPanel のサイズが非常に小さくなりますが、完全になくなるわけではありません。ユーザーが要約パネルを再展開できるボタンがまだあります。
問題は、パネルが再展開されて FlowPanel が大きくなったときに発生します。その際、ステータスバーとフローパネルの順番が逆になります。どちらも下に揃えるように設定されていますが、ステータスバーは FlowPanel の上にあります。
フォームにボタンを配置して下部のフロー パネルの高さを確認するだけで、Collapsing パネルのないテスト アプリでこれを複製できます。高さを大きくすると順番が変わります。減少すると、すべてが同じ順序のままになります。私のテストフォームの唯一のコードは次のとおりです。
FlowPanel2.Height := FlowPanel2.Height * 2;
また、同じ結果の FlowPanel ではなく、通常の TPanel である下部パネルでこれをテストしました。
なぜこれが起こっているのか、それを防ぐ方法についてのアイデアはありますか?