Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> OnFocus для формы 
:(
    Опции темы
Grig
Дата 15.6.2005, 08:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 809
Регистрация: 29.4.2005
Где: Иркутск

Репутация: нет
Всего: 16



Здравствуйте!
Помогите пожалуйста найти событие, когда форма приобретает фокус.
Или чем бы его заменить?


--------------------
        
PM MAIL ICQ   Вверх
Snowy
Дата 15.6.2005, 09:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



OnActivate
PM MAIL   Вверх
Grig
Дата 16.6.2005, 03:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 809
Регистрация: 29.4.2005
Где: Иркутск

Репутация: нет
Всего: 16



OnActivate не помогает.
Ситуация такова: c Form1 методом ShowModal вызывается Form2 потом Form2 закрывается, в фокусе остается Form1 и вот этот-то надо словить, а OnActivate его не отлавливает.
Я вообще-то уже повесил на Form2.OnClose, все работает, но думаю, это не очень корректно.


--------------------
        
PM MAIL ICQ   Вверх
Snowy
Дата 16.6.2005, 09:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Цитата(Grig @ 16.6.2005, 03:34)
c Form1 методом ShowModal вызывается Form2 потом Form2 закрывается, в фокусе остается Form1 и вот этот-то надо словить

А в данном случае Form1 и не теряет фокуса. Поэтому при возврате OnActivate и не срабатывает, т.к. фокус никуда и не уходил.
Никакого события тут и не происходит.
Остается только ждать, когда закроется форма2 и продолжить выполнение.

Цитата(Grig @ 16.6.2005, 03:34)
Я вообще-то уже повесил на Form2.OnClose, все работает, но думаю, это не очень корректно.

Это действительно не очень корректно.
Пиши свой код сразу после Form2.ShowModal.
Пока вторая форма не закроется, первая форма будет ждать.
Как закроется, сразу пойдет код, который следует за ShowModal.
Проверь:
Код

  Form2.ShowModal;
  ShowMessage('Форма 2 закрылась!');

И всего делов. Сообщение появится только после того, как закроется вторая форма.
PM MAIL   Вверх
Grig
Дата 17.6.2005, 03:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 809
Регистрация: 29.4.2005
Где: Иркутск

Репутация: нет
Всего: 16



Да, действительно, это выглядит намного удачнее, а я даже и не думал, что после команды ShowModal останавливается обработка кода..
Спасибо!


--------------------
        
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0422 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.