Конференция "Компоненты" » Событие drop компонета в design-time [D7, WinXP]
 
  • DmitryA (05.08.09 10:48) [0]
    Ув. мастера!

    Подскажите, пожалуйста, как поймать событие (или метод), происходящее в момент, когда пользователь в desing-time дропает компонент на форму
  • DimaBr © (05.08.09 11:18) [1]
    Что хотим сделать, где (в компоненте или эксперте), для чего ,
  • DmitryA (05.08.09 11:25) [2]
    Мне нужно определить момент, когда у компонента в desing-time происходит дропанье на форму (у самого компонента)
  • DimaBr © (05.08.09 11:33) [3]
    SetParent
  • DimaBr © (05.08.09 11:35) [4]
    Если вы подробнее расскажите что хотите сделать - проще будет вам помочь
  • DmitryA (05.08.09 11:53) [5]
    Постараюсь. Когда программист, работая в среде Delphi выбирает мой компонент из палитры компонентов и кладет его на форму, то моему компоненту нужно знать момент когда это происходит. Т.е. design-time в ComponentState = csDesigning известен. Но вот Create происходит по случаю именно преретаскивания или создания из ресурсов? Мне нужно именно преретаскивание.
  • DimaBr © (05.08.09 12:21) [6]
    Можно переопределить метод Loaded и в нём устанавливать флаг, что этот метод произошёл. Loaded возникает только после чтения из ресурса.
  • DmitryA (05.08.09 12:38) [7]
    По идее, чтение из ресурса происходит всегда, после Create. А компоненту нужно точно знать, что Create происходит первый раз...
  • DimaBr © (05.08.09 12:41) [8]

    > По идее, чтение из ресурса происходит всегда, после Create


    Нет, наоборот, при чтении из ресурса происходит Create. Вот тут и различие.
  • DmitryA (05.08.09 12:52) [9]
    Смысл не в последовательности и не в том, что происходит при чтении из ресурса (чтение-создание-инициалицация), а в том, что компоненту нужно точно знать, что его дропнули...
  • DimaBr © (05.08.09 13:45) [10]
    Простым способом это определить нельзя, поэтому я и советую сравнивать был ли Loaded или нет. Если Loaded был - значит компонент читается из ресурса, иначе создаётся или динамически (из кода) или путём заброски на форму. Тут пригодится проверка ComponentState.

    Если всё это нужно определить в конструкторе - тогда вообще тяжело.
  • DmitryA (05.08.09 14:03) [11]
    Именно, именно.

    Все равно, спасибо :)
  • DimaBr © (05.08.09 14:31) [12]

    > Именно, именно.

    Что это значит ?
 
Конференция "Компоненты" » Событие drop компонета в design-time [D7, WinXP]
Есть новые Нет новых   [134466   +3][b:0][p:0]