Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Unload Form?!..

263
10 мая 2005 года
koltaviy
816 / / 16.12.2004
Всем привет!.. Давно не заходил.. Тут чо-то столкнулся с вопросом:
Ситуация:
Есть форма, на ней кнопка выход. По клику выполняются разные действия(обработка) и форма выгружается..
НО пользователь так же может нажать на крестик - возникает необхоимость отслеживать событие терминэйт формы.. и давать ему выполнять функцию баттон_клик..
Умные люди догадались, что возникает проблема - при нажатии на кнопку операции выполняются дважды.. Операции->Анлод->Он_терминэйт->Операции
Как это обойти?!..
Самый тупой способ - завести какой-нибудь скрытый флажок и смотреть отмечен он или нет...
Где-то видел апишную функцию запрета крестика - киньте если у кого-нибудь есть...
И еще можно же по идеи как-то без запрета обойтись - есть ведь всякие КьюриКлоз и другая фигня...
405
11 мая 2005 года
Dmitrii
554 / / 16.12.2004
Цитата:
Originally posted by koltaviy
Всем привет!.. Давно не заходил.. Тут чо-то столкнулся с вопросом:
Ситуация:
Есть форма, на ней кнопка выход. По клику выполняются разные действия(обработка) и форма выгружается..
НО пользователь так же может нажать на крестик - возникает необхоимость отслеживать событие терминэйт формы.. и давать ему выполнять функцию баттон_клик..
Умные люди догадались, что возникает проблема - при нажатии на кнопку операции выполняются дважды.. Операции->Анлод->Он_терминэйт->Операции
Как это обойти?!..
Самый тупой способ - завести какой-нибудь скрытый флажок и смотреть отмечен он или нет...
Где-то видел апишную функцию запрета крестика - киньте если у кого-нибудь есть...
И еще можно же по идеи как-то без запрета обойтись - есть ведь всякие КьюриКлоз и другая фигня...


Думаю, самое простое в Вашей ситуации - выполнять все необходимые операции "предзакрытия" в коде процедуры для события Terminate, а в коде процедуры для нажатия кнопки оставить только оператор вызова Unload. Вот пример:
[COLOR=darkblue]
Private Sub CommandButton1_Click()
Unload Me
End Sub
'--------
Private Sub UserForm_Terminate()
MsgBox "Terminate event"
End Sub
[/COLOR]

Если всё-таки захотите отключить реакцию формы на нажатие "крестика", то посмотрите материалы по этой ссылке:
http://forum.codenet.ru/showthread.php?threadid=22908

263
13 мая 2005 года
koltaviy
816 / / 16.12.2004
Thanks... :}
12K
22 мая 2005 года
Aklin
1 / / 22.05.2005
А QueryUnload НАХ?
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог