-
Ув. мастера!
Подскажите, пожалуйста, как поймать событие (или метод), происходящее в момент, когда пользователь в desing-time дропает компонент на форму
-
Что хотим сделать, где (в компоненте или эксперте), для чего ,
-
Мне нужно определить момент, когда у компонента в desing-time происходит дропанье на форму (у самого компонента)
-
SetParent
-
Если вы подробнее расскажите что хотите сделать - проще будет вам помочь
-
Постараюсь. Когда программист, работая в среде Delphi выбирает мой компонент из палитры компонентов и кладет его на форму, то моему компоненту нужно знать момент когда это происходит. Т.е. design-time в ComponentState = csDesigning известен. Но вот Create происходит по случаю именно преретаскивания или создания из ресурсов? Мне нужно именно преретаскивание.
-
Можно переопределить метод Loaded и в нём устанавливать флаг, что этот метод произошёл. Loaded возникает только после чтения из ресурса.
-
По идее, чтение из ресурса происходит всегда, после Create. А компоненту нужно точно знать, что Create происходит первый раз...
-
> По идее, чтение из ресурса происходит всегда, после Create
Нет, наоборот, при чтении из ресурса происходит Create. Вот тут и различие.
-
Смысл не в последовательности и не в том, что происходит при чтении из ресурса (чтение-создание-инициалицация), а в том, что компоненту нужно точно знать, что его дропнули...
-
Простым способом это определить нельзя, поэтому я и советую сравнивать был ли Loaded или нет. Если Loaded был - значит компонент читается из ресурса, иначе создаётся или динамически (из кода) или путём заброски на форму. Тут пригодится проверка ComponentState.
Если всё это нужно определить в конструкторе - тогда вообще тяжело.
-
Именно, именно.
Все равно, спасибо :)
-
> Именно, именно.
Что это значит ?
|