14

親内でコントロールを中央に配置するにはどうすればよいですか? そして、親のサイズが変更されたときにそれを中央に保つ方法は?

コントロールを手動で移動するイベント ハンドラーを記述できることはわかってParent.OnResizeいますが、すべてのコンテナー コンポーネントにOnResizeイベントがあるわけではないため、これを自動的に行いたいと考えています。

akCenterアンカーはありますか?

4

1 に答える 1

26

アンカーakCenterが存在しません。ただし、アンカー プロパティを空に設定することで模倣できakRelativeます。これにより、親のサイズが変更されたときにコントロールが相対的に移動します。それを中央配置と組み合わせると、中央に似た「アンカー」になります。

設計時に水平方向に中央揃えするには:

  • IDE で、コントロールのコンテキスト メニューを選択し (右クリック)、
  • 位置 > 整列 > 水平 > ウィンドウの中央
  • オブジェクトインスペクターAnchors.akLeft := FalseAnchors.akRight := False
  • Et voilà : akHorzCenter.

同じことが垂直方向にも当てはまります。この場合はfalseを設定akTopします。akBottom両方向の中央に配置するには: Anchors := [].

アクション中の akRelative のアニメーション

免責事項: このアンカーの使用法に関するドキュメントは見つかりませんでした。これが意図した機能かどうかはわかりませんが、D7 と XE2 で非常にうまく機能します。

于 2012-09-27T05:09:21.037 に答える