powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Чем заменить OnActivate формы, если она прикреплена к контролу через .Parent := ...
9 сообщений из 9, страница 1 из 1
Чем заменить OnActivate формы, если она прикреплена к контролу через .Parent := ...
    #39882846
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приветствую,

до сих пор пользовался хаком: если нужно было что-то сделать в тот момент, когда форма загружена и видна , то помещал этот код в обработчик OnActivate формы (с выставлением флага для защиты от повторных активаций).

Но это событие не срабатывает, если форма лежит на другом контроле (через .Parent := ...).

Событие OnShow не подходит, тогда формы еще не видно.

Событие WM_PAINT не отрабатывает, если форма полностью закрыта другими контролами. Без них не проверял т.к. нужно именно с полным закрытием.


Что посоветуете?
...
Рейтинг: 0 / 0
Чем заменить OnActivate формы, если она прикреплена к контролу через .Parent := ...
    #39882849
ёёёёё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кроик Семён,

пробежаться вверх по паренту и добавить свой код в ОнАктивате самого верхнего парента?
...
Рейтинг: 0 / 0
Чем заменить OnActivate формы, если она прикреплена к контролу через .Parent := ...
    #39882851
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кроик СемёнЧто посоветуете?

PostMessage(WM_USER) и делай в его обработчике всё, что в голову взбредёт.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Чем заменить OnActivate формы, если она прикреплена к контролу через .Parent := ...
    #39882854
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Оба совета про добавление чего-то в вызывающую форму.
А только лишь силами событий (или перегруженных методов) встраиваемой формы можно решить?
...
Рейтинг: 0 / 0
Чем заменить OnActivate формы, если она прикреплена к контролу через .Parent := ...
    #39882858
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кроик СемёнОба совета про добавление чего-то в вызывающую форму.

С чего бы вдруг? PostMessage работает в OnShow поскольку к этому моменту хэндл уже создан.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Чем заменить OnActivate формы, если она прикреплена к контролу через .Parent := ...
    #39882859
Michael Longneck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня есть такой метод ExecIdle(Action: TProc); Он один раз исполняет свой метод в OnIdle. Позволяет в процессе обработки какой-то "отложить" на её завершение какие-то действия. Я бы в OnShow вызвал свой ExecIdle и к моменту когда всё появилось на экране оно бы исполнилось
...
Рейтинг: 0 / 0
Чем заменить OnActivate формы, если она прикреплена к контролу через .Parent := ...
    #39882864
ёёёёё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кроик СемёнОба совета про добавление чего-то в вызывающую форму.
А только лишь силами событий (или перегруженных методов) встраиваемой формы можно решить?
Какого "добавления"?
ОнАктивате - это ж ридрайт свойство, считай на лету текушее значение да замени ни два вызова - старый ОнАктивэйт парента плюс ОнАктивэйт твоей формы. Все в коде твоей формы, например, в ее конструкторе или ОнКриэйт обработчике...
...
Рейтинг: 0 / 0
Чем заменить OnActivate формы, если она прикреплена к контролу через .Parent := ...
    #39882868
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovКроик СемёнОба совета про добавление чего-то в вызывающую форму.

С чего бы вдруг? PostMessage работает в OnShow поскольку к этому моменту хэндл уже создан.

У меня возникают трабблы с отрисовками TPngObject на канве если её еще не видно. Даже если проверяю PaintBox.Canvas.HandleAllocated(). Не знаю, где там собака в недрах кода этих TPngObject зарыта, но всё нормально равотало если начинал это делать после OnActivate
...
Рейтинг: 0 / 0
Чем заменить OnActivate формы, если она прикреплена к контролу через .Parent := ...
    #39882885
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за советы. Решил проблему отложенной отрисовкой.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Чем заменить OnActivate формы, если она прикреплена к контролу через .Parent := ...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]