Как можно заблокировать закрытие приложения по крестику (в правом верхнем углу экрана приложения.

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Chacanov
Новичок
Сообщения: 8
Зарегистрирован: 07 Июнь 2011, 11:40

Как можно заблокировать закрытие приложения по крестику (в правом верхнем углу экрана приложения.

Сообщение Chacanov »

Используется Clarion 6.1.
Есть необходимость в блокировке закрытия приложения по крестику (в правом верхнем углу экрана приложения.
Программу нужно закрывать только через меню.
Так как при работе, если случайно нажать на этот крестик , программа закрывается.
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3289
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 15 раз
Поблагодарили: 49 раз
Контактная информация:

Как можно заблокировать закрытие приложения по крестику (в правом верхнем углу экрана приложения.

Сообщение Дед Пахом »

Кажется так:
При закрытии приложения (AppFrame) срабатывает Event:CloseWindow. Заводим переменную EnableClose, присваиваем ей TRUE только при выборе пункта меню "Exit", а в Event:CloseWindow пишем if not EnableClose then cycle end.
С уважением, ДП
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8028
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 28 раз
Поблагодарили: 96 раз

Как можно заблокировать закрытие приложения по крестику (в правом верхнем углу экрана приложения.

Сообщение Игорь Столяров »

Отключить опции System Menu и убрать иконку окна. Нет кнопки с крестиком - нет проблемы (нечего нажимать случайно). ;)
Make Clarion Great Again ! 😎
Chacanov
Новичок
Сообщения: 8
Зарегистрирован: 07 Июнь 2011, 11:40

Как можно заблокировать закрытие приложения по крестику (в правом верхнем углу экрана приложения.

Сообщение Chacanov »

Большое спасибо. Получилось.
Изначально пробовал опцию System Menu отключить, не получалась, так как иконка окна была.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8028
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 28 раз
Поблагодарили: 96 раз

Как можно заблокировать закрытие приложения по крестику (в правом верхнем углу экрана приложения.

Сообщение Игорь Столяров »

Примерно такое же пожалуйста. :)
Тут в выходные специально в этот крестик фиг попадешь, а Вы говорите случайно .... :idied:
Make Clarion Great Again ! 😎
kreator
✯ Ветеран ✯
Сообщения: 5159
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 11 раз
Поблагодарили: 26 раз

Как можно заблокировать закрытие приложения по крестику (в правом верхнем углу экрана приложения.

Сообщение kreator »

AppFrame без иконки и системного меню? Извращение какое-то! А чем этот крест-то не угодил?
We are hard at work… for you. :)
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 5236
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 12 раз
Поблагодарили: 65 раз

Как можно заблокировать закрытие приложения по крестику (в правом верхнем углу экрана приложения.

Сообщение finsoftrz »

kreator писал(а): AppFrame без иконки и системного меню? Извращение какое-то! А чем этот крест-то не угодил?
Безусловно :)
Закрытие приложения из фрейма можно отловить в дочернем окне по событию EVENT:CloseDown. Например, пользователь что-то модифицирует в документе, переключился в другую нитку, забыл и жмет закрыть приложение. Чтобы он не потерял результаты своей работы, проверяем, что он что-то менял в документе, и на событии EVENT:CloseDown говорим CYCLE, предварительно подняв окно над другими через 0{Prop:Active}=True. Попутно надо отследить, что это не режим административного сброса пользователя, а он сам нажал крест на фрейме. У меня примерно так это разруливается...
C6/C12, ШВС, tps/btrieve.
Chacanov
Новичок
Сообщения: 8
Зарегистрирован: 07 Июнь 2011, 11:40

Как можно заблокировать закрытие приложения по крестику (в правом верхнем углу экрана приложения.

Сообщение Chacanov »

А чем этот крест-то не угодил?

А тем, что с программой (Тестирование) работают специалисты медицинских специальностей (средний персонал).
Целый класс - 15-30 компов. И естественно встречаются такие что мышкой случайно нажимают на Крестик - закрытия приложения. В итоге тестирование завершается. Конечно в программе реализована возможность продолжения тестирования с прерванного места. Но такие случаи раздражают некоторых из обслуживающего персонала.
Аватара пользователя
ingasoftplus
Ветеран
Сообщения: 464
Зарегистрирован: 26 Декабрь 2006, 17:07
Откуда: Оттуда :)
Благодарил (а): 124 раза
Поблагодарили: 6 раз

Как можно заблокировать закрытие приложения по крестику (в правом верхнем углу экрана приложения.

Сообщение ingasoftplus »

kreator
✯ Ветеран ✯
Сообщения: 5159
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 11 раз
Поблагодарили: 26 раз

Как можно заблокировать закрытие приложения по крестику (в правом верхнем углу экрана приложения.

Сообщение kreator »

Chacanov писал(а):А тем, что с программой (Тестирование) работают специалисты медицинских специальностей (средний персонал).Целый класс - 15-30 компов. И естественно встречаются такие что мышкой случайно нажимают на Крестик - закрытия приложения. В итоге тестирование завершается. Конечно в программе реализована возможность продолжения тестирования с прерванного места. Но такие случаи раздражают некоторых из обслуживающего персонала.
Так бы сразу и сказал. В Embed фрейма на событие "CloseWindow" до Parent Call пишете, например:

Код: Выделить всё

if message('Вы действительно хотите выйти из программы?','ВНИМАНИЕ!!!',ICON:Question,BUTTON:Yes+BUTTON:No,BUTTON:No)=BUTTON:No
  return Level:Notify
end
И всё.
We are hard at work… for you. :)
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8028
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 28 раз
Поблагодарили: 96 раз

Как можно заблокировать закрытие приложения по крестику (в правом верхнем углу экрана приложения.

Сообщение Игорь Столяров »

О ! Нашел пример в тему на почившем в бозе KLARISOFT'е.
Проверил под C63 - вроде прикольно работает. :)
Вложения
DisableX.zip
(19.97 КБ) 172 скачивания
Make Clarion Great Again ! 😎
Ответить