質問

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

役に立ちましたか?

解決

「中央」とは、「すでに中央にあり、サイズを変更せずにそのまま保持する」ことを意味する場合、すべてのアンカーを削除します。サイズを変更する必要がある場合は、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;
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top