Снегопат https://snegopat.ru/forum/ |
|
Область действия хоткеев https://snegopat.ru/forum/viewtopic.php?f=1&t=216 |
Страница 1 из 1 |
Автор: | Magister [ 05 июл 2012, 16:07 ] |
Заголовок сообщения: | Область действия хоткеев |
А можно ли сделать так, чтобы хоткеи перехватывались не глобально, а только там, где они имеют смысл? Например, хоткей SnegopatMainScript::ЛистатьПараметрыВперед назначен на Alt + Down. При этом в панели свойств в поле выбора типа реквизита невозможно открыть раскрывающийся список этим хоткеем. Аналогично и другие хоткеи перехватываются глобально - что доставляет неудобства. |
Автор: | Magister [ 05 июл 2012, 16:11 ] |
Заголовок сообщения: | Re: Область действия хоткеев |
Хм... ещё веселее. Переназначил на Ctrl + Alt + Down - всё равно стандартный хоткей не работает. При запуске без Снегопата - всё нормально. |
Автор: | Magister [ 05 июл 2012, 16:12 ] |
Заголовок сообщения: | Re: Область действия хоткеев |
А, понял. Alt + Down назначено также на textEditorExt::НайтиВыделенныйТекстВниз Только почему конфликта не возникло? |
Автор: | orefkov [ 05 июл 2012, 17:55 ] |
Заголовок сообщения: | Re: Область действия хоткеев |
Конфликта не возникает. Снегопат позволяет на один хоткей вешать несколько макросов. Вызываются все в том порядке, в котором регистрировались в снегопате. Если один из макросов вернул все что угодно, кроме false, считается, что он отработал и остальные не вызываются. Если вернул false - вызывается следующий в цепочке. Если ни один не отработал, нажатие передается для обработки в 1С. Т.е. макрос сам должен определять, должен ли он сейчас срабатывать, и если нет - возвращать false. |
Автор: | Magister [ 05 июл 2012, 18:32 ] |
Заголовок сообщения: | Re: Область действия хоткеев |
orefkov писал(а): Конфликта не возникает. Снегопат позволяет на один хоткей вешать несколько макросов. Вызываются все в том порядке, в котором регистрировались в снегопате. Если один из макросов вернул все что угодно, кроме false, считается, что он отработал и остальные не вызываются. Если вернул false - вызывается следующий в цепочке. Если ни один не отработал, нажатие передается для обработки в 1С. Т.е. макрос сам должен определять, должен ли он сейчас срабатывать, и если нет - возвращать false. Хм... тогда вопрос к textEditorExt::НайтиВыделенныйТекстВниз - почему он "срабатывает" в поле ввода? В кавычках потому, что собственно ничего не происходит, да и представить я не могу, как можно искать что-то в однострочном поле. |
Автор: | orefkov [ 05 июл 2012, 20:54 ] |
Заголовок сообщения: | Re: Область действия хоткеев |
Видимо, просто макрос не доработан, надо чтобы false возвращал в таких случаях. Свяжись с автором. |
Автор: | artbear [ 05 июл 2012, 21:35 ] |
Заголовок сообщения: | Re: Область действия хоткеев |
Я могу за автора ответить. Саш, а как в скрипте определить, что курсор в "большом" текстовом окне, а не в поле ввода? |
Автор: | kuntashov [ 05 июл 2012, 21:45 ] |
Заголовок сообщения: | Re: Область действия хоткеев |
Да там надо вместо Код: function macrosНайтиВыделенныйТекстВниз(){ selectNextPattern(1); } function macrosНайтиВыделенныйТекстВверх(){ selectNextPattern(-1); } Сделать Код: function macrosНайтиВыделенныйТекстВниз(){ return selectNextPattern(1); } function macrosНайтиВыделенныйТекстВверх(){ return selectNextPattern(-1); } И все будет ок. |
Автор: | artbear [ 06 июл 2012, 06:21 ] |
Заголовок сообщения: | Re: Область действия хоткеев |
orefkov писал(а): Видимо, просто макрос не доработан, надо чтобы false возвращал в таких случаях. Поправил таким образом все макросы (штук 5) из данного скрипта. |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |