親内でコントロールを中央に配置するにはどうすればよいですか? そして、親のサイズが変更されたときにそれを中央に保つ方法は?
コントロールを手動で移動するイベント ハンドラーを記述できることはわかってParent.OnResize
いますが、すべてのコンテナー コンポーネントにOnResize
イベントがあるわけではないため、これを自動的に行いたいと考えています。
akCenter
アンカーはありますか?
アンカーakCenter
が存在しません。ただし、アンカー プロパティを空に設定することで模倣できakRelative
ます。これにより、親のサイズが変更されたときにコントロールが相対的に移動します。それを中央配置と組み合わせると、中央に似た「アンカー」になります。
設計時に水平方向に中央揃えするには:
Anchors.akLeft := False
でAnchors.akRight := False
、akHorzCenter
.同じことが垂直方向にも当てはまります。この場合はfalseを設定akTop
します。akBottom
両方向の中央に配置するには: Anchors := []
.
免責事項: このアンカーの使用法に関するドキュメントは見つかりませんでした。これが意図した機能かどうかはわかりませんが、D7 と XE2 で非常にうまく機能します。