質問
親が幅または高さを変更するときに、親を中心にコントロールを維持するための望ましい方法は何ですか?
解決
「中央」とは、「すでに中央にあり、サイズを変更せずにそのまま保持する」ことを意味する場合、すべてのアンカーを削除します。サイズを変更する必要がある場合は、gabrのソリューションを使用してください:)
他のヒント
コントロールのAnchorsプロパティを[akLeft、akTop、akRight、akBottom]に設定します。
「更新中」のような場合は、しばらくお待ちください...」型を入力して、フォームのOnResizeイベントで手動で移動します。これにより、デザイン中にパネルを邪魔にならず、通常どおり非表示にできますが、必要に応じてパネルを表示できます。
procedure TMyForm.FormResize(Sender: TObject);
var
nNewTop : Integer;
begin
inherited;
pnlRegenerating.Left := (ClientWidth - pnlRegenerating.Width) div 2;
nNewTop := (ClientHeight div 5) {* 4};
if (nNewTop + pnlRegenerating.Height) > ClientHeight then
nNewTop := ClientHeight - pnlRegenerating.Height - 4;
pnlRegenerating.Top := nNewTop;
end;
所属していません StackOverflow