Как принудительно обновить позицию дочерних контролов в перекрытом методе SetBounds?

программирование делфи custom control SetBounds graphic control

есть компонент-наследник от TCustomControl. в нём размещаются компоненты, порождённые от TGraphicControl. дочерние компоненты могут быть пристыкованы к разным границам Parent-a.

если они будут внахлёст, то их нужно скрывать. чтоб сделать это, я переопределил метод SetBounds компонента-контейнера. не смотря на то, что я получаю обновлённые размеры контейнера, новое положение дочерних контролов можно узнать только после следующего вызова SetBounds, то есть когда ещё раз изменился размер Parent-а.

я понимаю, что свойства Top и Left изменяются после того, как произошёл SetBounds Parent-а, но как форсировать обновление позиции??? либо какой ещё можно перекрыть метод, чтобы гарантировано получать новые координаты дочерних элементов??

Примечание:
>> пробуй так:
>>
>>procedrue SetBounds//...
>>begin
>> inherited;
// а тепер дивимся
>>end;

в том-то и дело, что несмотря на предварительный inherited, координаты дочерних остаются старыми, обновляются только границы контейнера

Примечание:
>> ну тоді по SetBounds став флаг а по інші події, якщо є флаг - значить <роби те що треба>

спасибо, уже разобрался: надо было перекрывать SetBounds у дочерних контролов
Ответы:
пробуй так:
ну тоді по SetBounds став флаг а по інші події, якщо є флаг - значить <роби те що треба>


13 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.