Как заставить контроллер придерживаться своих родительских границ при изменении размера? - PullRequest
1 голос
/ 08 февраля 2010

У меня есть TGroupBox в качестве родителя, и я хочу поместить внутри него кнопку и сделать так, чтобы кнопка придерживалась верхнего правого угла групповой коробки.

Проблема в том, что TGroupBox не имеет метода OnResize, поэтому я не знаю, как указать кнопке, куда она должна двигаться после изменения размера групповой коробки.

Есть ли способ сделать это?

Спасибо

Ответы [ 2 ]

7 голосов
/ 08 февраля 2010

Установите для свойства кнопки Anchors значение akTop и akRight. Когда размер его родителя изменяется, он будет двигаться, чтобы его верхнее и правое смещения оставались постоянными относительно краев родительского элемента управления. Значение по умолчанию имеет akLeft вместо. (Если установлены и akLeft, и akRight, ширина кнопки будет увеличиваться и уменьшаться вместе с ее родителем.)

Между свойствами Align, Anchors и Constraints вам редко придется писать какой-либо собственный код для обработки изменяется на размер родителя.

3 голосов
/ 08 февраля 2010

Поместите его в правильное место и измените его свойства Anchor.akLeft на false и Anchor.akRight на true. Нет необходимости прикреплять к каким-либо событиям.

Итак, якорь будет:

.akTop = true
.akLeft = false
.akBottom = false
.akRight = true

(свойства кнопки внутри группового блока)

...