На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
[!] Как относитесь к модерированию на этом форуме? Выскажите свое мнение здесь
  
> OnTimer при потере фокуса
    Всем привет!

    Кому довелось разобраться с внутренним механизмом организации обработчика OnTimer(), расcкажите, pls,
    какие сообщения и кому посылает система при наступлении события от таймера.

    Особенно интересно, что делает система, когда форма на которой "лежит" таймер теряет фокус.

    У меня такое ощущение, что при потере фокуса, события от таймера начинают сыпаться в адрес активного окна.
      Разобрался.

      WM_TIMER от фокуса не зависит. Сообщение всегда посылается окну, которое создало таймер, вызов обработчика тоже однозначно задан адресом при регистрации таймера (см. callback).

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


      Рейтинг@Mail.ru
      [ Script execution time: 0,0191 ]   [ 16 queries used ]   [ Generated: 28.03.24, 15:12 GMT ]