Как поставить запрет на закрытие модальной формы клавишей ESC ? #366964


#0 by Pro-tone
Надо чтоб нельзя было закрыть искейпом форму, открытую в модальном режиме (вообще не понимаю почему в 1с можно ее закрыть этой клавишей - какой тогда смысл в ней, если принуждения можно избежать)
#1 by ДенисЧ
на кнопку закрыть  повесит свою обработку, в ПриЗакрытии проверять - по кнопеке ли нажато.
#2 by Pro-tone
неееее, я вообще закрытие убрал - Формекс запрет закрытия клавишей закрыть, а искейпом можно закрыть тем не менее
#3 by Нуф-Нуф
извраты ни к чему. работа процедуры ПриЗакрытии только по нажатии кнопки ЗАкрыть
#4 by ДенисЧ
даже по искейпу отрабатывает ПриЗакрытии, а в неё СтатусВозврата вроде пока не запрещали.
#5 by smaharbA
+ нах тут формекс ? савсем уж головой поплахели с формексом
#6 by Cap_1977
В у тебя правильный ответ.
#7 by Pro-tone
ща попробуем так, как ты говоришь, спасиб
#8 by Pro-tone
тока надо поймать что искейпом закрытие пошло, а не чем-то еще
#9 by Pro-tone
а вот как это замутить - пока хз
#10 by ДенисЧ
елементарно ето ловиццо.
#11 by smaharbA
+
#12 by Pro-tone
ну это такой способ ломом дверь открывать ))))) а не знаешь как ее открыть отмычкой ? как перехватить нажатую клавишу ? Там ActiveX объекты вроде надо использовать
#13 by ДенисЧ
яфуеюдорогиетоварищи... Штатный способ - это лом, а использование левых объектов, о которых сам Нуралиев не знает - ключ от двери... В общем, аввтару срочно нужен титан для мастрячения клюва, а то накопилось слишком много бетонных столбов, не тронутых цивилизацией...
#14 by Pro-tone
))))))) цивилизация - подземная, столбов бетонных - то и не видела ни разу ))))))
#15 by Vippi
2) Дык сделай формексом перехват ESC. Все нормально работает.
#16 by Vippi
Как я понял, задача не закрывать по ESC, но закрывать по крестику (а не своей кнопкой). Твой код это не решает.
#17 by Pro-tone
не, крестик я заблочил формексом, то, как написал работает, но я хочу ловить клавишу, вот такое нашел: Параметры: НовоеЗначение - тип: Число(1 или 0). Флаг разрешения перехвата событий клавиатуры: 1 - разрешить перехват; 0 - запретить перехват. Необязательный. По умолчанию значение разрешения перехвата событий не изменяется. Возвращает: Флаг разрешения перехвата на момент до выполнения метода. Описание: Метод разрешает или запрещает перехват и обработку событий клавиатуры (см. Предопределенные процедуры).
#18 by Pro-tone
Параметры: Контекст - контекст формы КодКлавиши - код нажатой кнопки клавиатуры. Alt - флаг нажатия кнопки <Alt>. Shift - флаг нажатия кнопки <Shift>. Ctrl - флаг нажатия кнопки <Ctrl>. Символ - символ нажатой кнопки в формате ASCII. ФСО - флаг стандартной обработки. Изначально равен 1. Если в теле процедуры сбросить значение в 0, то стандартная обработка события не вызывается. Описание: Предопределенная процедура вызывается при нажатии кнопки клавиатуры. Пример:
#19 by Pro-tone
во
#20 by Vippi
Это совсем из другой песни. ПерехватКлавиатуры это запрет/разрешение хука клавиатуры. Для твоего случая: Процедура ПриНажатииКнопкиКлавиатуры(КодКлавиши,Alt,Shift,Ctrl,Символ,Флаг)    Если КодКлавиши=27 Тогда
#21 by Ёпрст
Учись, студент:
#22 by Pro-tone
Точняк !
#23 by Pro-tone
новая версия решения головоломки )))
#24 by Vippi
И ты понял, как это работает? Все равно использовалось стороннее приложение для этой обработки.
#25 by Pro-tone
не очень понял где там еск ловится )))
#26 by Pro-tone
поди там наверчено еще что-то и скрыто модулями типа кзк, хотя я не силен в этом
#27 by Vippi
А чего же тогда решение это хвалишь? Не понимая, как это работает :)) Пользуй , раз все равно FormEx используешь.
#28 by Vippi
Да ничего там не наверчено. Присвоена нештатная горячая клавиша кнопке на форме. Например, при помощи gcomp (но можно и другими способами).
#29 by Pro-tone
Ну блин, как говорится, важен результат, он есть. И неважно как он получен. На самом деле самому было интересно как клавиши ловить, все-таки полезная штука ;)
#30 by Vippi
(28+) {"Esc","BUTTON","1342177291","9","28","39","13","0","0","4152","","Сообщить(""Хрен закроешь!"",""!!!"")","","-1","U","0","0","0","0","8192","","","","0","-11","0","0","0","0","0","0","0","0","0","0","0","0","MS Sans Serif","-1","-1","0","Основной","{""0"",""27""}"}},
#31 by Vippi
Клавиши ловить см. . Чего не хватает?
#32 by Pro-tone
ну я так и предполагал, но какая разница как это сделано
#33 by Vippi
Разница большая. Тов. Ёпрст3 большой мастер молча показывать фокусы ;))
#34 by Pro-tone
впечатляет )))
#35 by Ёпрст
всё равно не поймёт ...
#36 by у лю 427
в форме ОБРАБОТКИ для ловли ESC и крестика нах не нужен ни формекс, ни извращенец ЁПРСТ
#37 by Vippi
Поделись.
#38 by Pro-tone
а ты и рад поди
#39 by Ёпрст
Колись давай ...
#40 by Vippi
Тов. Пит большой мастер сбрехнуть и сдернуть.
#41 by Ёпрст
Да не.. видать пошел напрягать серое вещество... :))
#42 by Vippi
Видно, перенапряг...
#43 by АЛьФ
А я знаю универсальный метод ловли ESC без FormEx или каких-либо других лишних телодвижений. Надо просто ровно сесть, закрыть глаза и убедить себя, что на фиг это не надо. Вот!
#44 by Ёпрст
Шаман, однако...
#45 by у лю 427
основы решения для формы обработки дал Шарамба в 11....
#46 by Fragster
я пацталом, ребята!
#47 by Vippi
> в форме ОБРАБОТКИ для ловли ESC и крестика нах не нужен ни формекс, ни извращенец ЁПРСТ Вообще-то интересовало "ловли ESC ИЛИ крестика". Код в это не решает.
#48 by Fragster
решает моск. если его нет - то код в
#49 by у лю 427
идея там изложена правильно... и как сказал 48 - если мосха нет....
#50 by Vippi
Опять Пит напрягать ушел...
#51 by Vippi
Эта идея очевидна и неинтересна.
#52 by Vippi
(49+) Если непонятно, см.
#53 by у лю 427
в разработке для СТО у меня было сделано наоборот - по ЕСЦ закрывать, по крестику - нет.... лень искать конфу... а писать - многа буквов....
#54 by Vippi
"Штатными средствами" - не верю.
#55 by АЛьФ
2 Ты ж наш Ферма...
#56 by Vippi
Нострадамус...
#57 by Fragster
рано поддакивать, если когда лицом в решение тыкают, а ты не видишь
#58 by Fragster
особенно, когда такую чушь поддакиваешь
#59 by Vippi
Я не поддакиваю, а прошу прямо ответить на вопрос "Как штатными средствами запретить закрытие формы при нажатии <ESC> и разрешить при нажатии крестика?". Решения в это не обеспечивает.
#60 by АЛьФ
2 Но ты же поддакиваешь. :)
#61 by Vippi
(59+) Если знаешь такое решение, скажи. Я не знаю.
#62 by у лю 427
там много чего понаделано было, нетривиального. Вариант конфы сбрасывал Снарку... - многооконные подборы с расчетом варантов "на лету" - оригинальный многовалютный учет - система аналогов деталей - подключение прайсов "на лету"  с мнгновенным поиском (только 3 прайса - Мерс, БМВ и Ауди - это примерно 1 миллион 600 тыс элементов... - другие интерфейсные вещи - без Формекса и прочего... единственая используемая ВК - турбоБЛ от Орефкова...
#63 by у лю 427
к сожалению, в полном объеме конфа не доделана - заказчик сдулся и юзает только то, что передали ему.
#64 by Vippi
Про это вопросов не было. Вопрос только . Это ж мелочь для тебя.
#65 by Vippi
попал в недоделанный объем?
#66 by у лю 427
это было сделано - не доделана часть Работа СТО
#67 by Vippi
Дык покажи. Чай, не секретно.
#68 by у лю 427
лень искать по СД дискам (комп недавно переустановил с листа)
#69 by Vippi
Да то понятно. Ответы на конкретный вопрос напоминают поведение твоей любимой птицы - долбишь в одну точку. Стареешь.
#70 by Ёпрст
Всё еще кипятите ? Напоминает всё отрицательное красным в ТЗ...
#71 by Vippi
Дык хочется ж получить у Пита бесценную крупицу мастерства.
#72 by Vippi
Видно, не получу. Склевал ее Пит.
#73 by Vippi
Ответь все же, раз появился. Некрасиво так от ответа уходить.
#74 by АЛьФ
2 Тебе должно быть стыдно. Ты уже дедушка давно, а все пытаешь от Пети добиться чего-то внятного. Взрослеть пора!
#75 by Serjant
А в процедуру ПриЗакрытии можно тупой параметр передать "ЭтоНеКрестиком"
#76 by Vippi
Да было надежда на внятность. :)) Увы...
#77 by Vippi
ПриЗакрытии отрабатывает и при нажатии на крестик, и при ESC.
#78 by Serjant
Да понял уже, думаю....:)
#79 by Vippi
Все уже придумано.
#80 by Serjant
Нужен скрипт, а я в них неселён :(
#81 by КонецЦикла
От же натура...
#82 by Ёпрст
ща погоди, мот чего родит :))... или вспомнит.
#83 by Ёпрст
+82 че-нить типа этого
#84 by Vippi
Наверное, вспомнил. Что вспоминать нечего.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С