:: Главная :: Решения :: Статьи :: Проект "Русский help" :: Файловый архив :: Фотоальбом :: Ссылки ::
   Л и с о в о д ы   в с е х   с т р а н,  о б ъ е д и н я й т е с ь !!!  


Форумы  :: FAQ FoxPro

Как перехватить нажатие на крестик в правом верхнем углу формы
Дата: 01.04.05 07:45:43 ОтветитьЦитировать

Вопрос

Как перехватить нажатие на крестик в правом верхнем углу формы?

Ответ

При нажатии на крестик в правом верхнем углу формы срабатывает событие формы QueryUnload(). Если в этом событии дать команду

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

*** Событие формы QueryUnload  
  IF MessageBox("Вы действительно хотите закрыть форму",4+32+256,"Закрытие формы")=7  
 	* Нажали кнопку "Нет"  
  	NODEFAULT  
  ENDIF

Если у Вас на форме предусмотрена специальная кнопка "Выход", по нажатию на которую происходит закрытие формы, то, для того, чтобы не дублировать один и тот же код в несколких местах просто делайте вызов события нажатия данной кнопки при нажатии на крестик. Примерно так:

*** Событие формы QueryUnload  
  NODEFAULT  
  ThisForm.CmdExit.Click()

Здесь CmdExit - это имя кнопки "Выход".

Следует иметь в виду, что при вызове метода Release() или использовании команды RELEASE для закрытия формы событие QueryUnload() будет проигнорировано. Т.е. не сработает.



Исправлено: Владимир Максимов, 30.12.06 13:56
Ratings: 0 negative/0 positive


Тема Просмотров Написано Написано
  Form 4661 Владимир Максимов 01.03.05 21:13
  Почему созданный массив или переменную не "видно" в других методах формы 6533 Владимир Максимов 30.03.05 15:37
  Как перехватить нажатие на крестик в правом верхнем углу формы 8448 Владимир Максимов 01.04.05 07:45
  Почему параметры, переданные в форму "видно" только в INIT-формы 5252 Владимир Максимов 22.08.05 18:43
  Как из модальной формы вернуть несколько значений 7058 Владимир Максимов 05.11.06 23:46
  Как из модальной формы, открытой через Show(1) вернуть значение 5037 Владимир Максимов 05.11.06 23:51


Извините, но у вас нет прав для того, чтобы писать в этом форуме.

On-line: 27 pasha_usue  and Guests: 26


© 2006 Fox Club 
Яндекс.Метрика