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


Форумы  :: FAQ FoxPro

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

Вопрос

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

Ответ

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

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

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

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

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

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

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



Исправлено 1 раз(а). Последнее : Владимир Максимов, 30.12.06 14:56
Ratings: 0 negative/0 positive


Тема Просмотров Написано Написано
  Form 5123 Владимир Максимов 01.03.05 22:13
  Почему созданный массив или переменную не "видно" в других методах формы 7468 Владимир Максимов 30.03.05 16:37
  Как перехватить нажатие на крестик в правом верхнем углу формы 9586 Владимир Максимов 01.04.05 08:45
  Почему параметры, переданные в форму "видно" только в INIT-формы 5907 Владимир Максимов 22.08.05 19:43
  Как из модальной формы вернуть несколько значений 8134 Владимир Максимов 06.11.06 00:46
  Как из модальной формы, открытой через Show(1) вернуть значение 5897 Владимир Максимов 06.11.06 00:51


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

On-line: 1 (Гостей: 1)

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