5

親の幅または高さが変更されたときに、コントロールを親の中央に維持するための優先する方法は何ですか?

4

3 に答える 3

7

「中央揃え」が「すでに真ん中にあり、サイズを変更せずにそのままにしておく」ことを意味する場合は、すべてのアンカーを削除します。サイズを変更する必要がある場合、gabrのソリューションは次のものです:)

于 2008-11-24T10:11:26.573 に答える
5

コントロールの Anchors プロパティを [akLeft, akTop, akRight, akBottom] に設定します。

于 2008-11-24T09:49:24.827 に答える
0

「更新中です。お待​​ちください...」タイプのことを意味する場合は、フォームの 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;
于 2008-11-24T10:49:52.160 に答える