1с81 Перехват событий мыши #724831


#0 by 247tsm
Который день ищу способ перехвата событий мыши в 1с81, но всё безрезультатно. Нетленка 2.3 не работает. Может, у кого-нибудь есть Нетленка 3.0 (конечно, если она всё таки вышла)? Или любой другой рабочий способ с примером кода. Ищу помощи гуру 1с81.
#1 by Ник второй
Зачем?
#2 by 247tsm
Делаю слайд шоу. По нажатию любой кнопки мышки нужно прерывать слайд шоу. Монитор - тачскрин, поэтому клавиатура не катит.
#3 by 247tsm
Упссс. Не по нажатию мышки, а нажатию тачскрина, хотя, это одно и то же.
#4 by 247tsm
Мышки нет, есть только монитор тачскрин.
#5 by Ник второй
Слайд шоу на 1С? Может имеет смысл подобрать верный инструмент?
#6 by Ник второй
ну и блюз от доктора хауса
#7 by 247tsm
Так поставлена задача
#8 by 247tsm
Это только у меня звук прерывистый?
#9 by Ник второй
не в ту тему )))
#10 by Ник второй
Заново ставьте задачу.
#11 by 247tsm
Это одно из решений. А что, других нет? Неужели на 1с81 никто никогда не отслеживал события мыши или тачскрина? Или хотя бы возникала такая необходимость? НЕ ВЕРЮ, что это никому никогда не понадобилось. Гуру, пожалуйста, откликнитесь.
#12 by 247tsm
Может, WSH? Хотя, нет. Кажется у WSH нет таких возможностей. А что другое, что можно вставить в 1с81?
#13 by 247tsm
Да, очень содержательная получилась веточка. Прямо, монолог. Или все гуру спят?
#14 by Ник второй
1С не предназначена для таких задач, только внешние приблуды с оповещением 1С
#15 by Ник второй
Скорее всего раньше среды не удастся найти того кого ты ищешь или вообще не удастся.
#16 by 247tsm
А мне нужно на этот понедельник.
#17 by Torquader
Поле html на форме и его активизация. При нажатии в него будет у него событие мыши, а вне - потеря фокуса.
#18 by 247tsm
А на кой ляд тогда нужно ВнешнееСобытие у формы, если даже простое нажатие мыши, тачскрина да и клавиатуры нельзя отследить?
#19 by Ник второй
1С предназначена для учетных задач, а не презентации показывать.
#20 by 247tsm
Это с использованием макета с типом HTML документ? Пример не можешь подкинуть?
#21 by 247tsm
А как же игры на 1С и куча прочего?
#22 by Ник второй
страдать фигней разрешено любому, причем тут учетные задачи не пойму.
#23 by Сергиус
А потом ведь скажут.."Вот ведь 1с какая плохая! Даже с такой фигней столько заморочек")
#24 by 247tsm
А можно ли это поле html сделать на всю форму и закинуть в него рисунок-картинку и рисунок-текст? Мне нужно, чтобы пользователь при желании мог сам, не заходя в конфигуратор, менять положение и размер полей. Для этого я на форму поставил ПолеТабличногоДокумента и в него закинул рисунок-картинку и рисунок-текст. А вот как работать с полем html, не знаю.
#25 by 247tsm
Может, поутру кто-то что-то полезное скажет для решения моей задачи.
#26 by spectre1978
если нужно быстро, я бы помозговал в сторону внешней программы, которая бы открывалась из 1с и закрывалась по щелчку мыши. Ну и придумать как ей данные отдать.
#27 by 247tsm
"...которая бы открывалась из 1с и закрывалась по щелчку мыши" - так в том и дело, что Я НЕ МОГУ В 1С81 ОТЛОВИТЬ СОБЫТИЕ МЫШКИ (тачскрина)!!!!!!!!!!!!!!!!!!!!!! И поэтому прошу мне помочь это сделать.
#28 by 247tsm
Вопрос не в том, что делать дальше (после кликания мышки). А в том, чтобы до этого "дальше" дойти. ;)
#29 by 247tsm
Я согласен подключать сторонние программы для отлова мышки. Вы только подскажите приемлемый для 1С метод, способ...
#30 by Dmitry1c
dll-ку и hook на WinAPI
#31 by 247tsm
А можно подробнее, с текстом примера? "Я не волшебник, я только учусь"
#32 by Dmitry1c
внешняя компонента, которая делает обертку над WinAPI. во внешней компоненте обработчик события, который подключается к 1С. для простоты - погугли "кейлогер на C#", а потом просто делаешь внешнюю компоненту, которая запускается при старте 1С. будут у тебя события, ВК передаст в 1С нажатую клавишу
#33 by Dmitry1c
ну и соответственно WinAPI вроде позволяет отловить все события, тачскрин в том числе должен быть среди них
#34 by Ayne
А я вот все хочу найти элегантный способ изменения масштаба в табличном документе. Кнопки "Масштаб +" и "Масштаб -". Ну вот почему эта зараза 1С поддерживает кучу стандартных комбинаций клавиш, а "Ctrl +/-" нет? Бери в руки мышку и колесиком крути-верти им.
#35 by 247tsm
Посмотрел ссылки по "кейлогер на C#". Но я не такой универсальный программист, нужно сидеть разбираться, да и нет у меня средств программирования на C# - нужно искать, устанавливать, подучить сам C#... Нет ли готовой DLL, чтобы ее зарегистрировать, а потом использовать ее методы для отлова мышки, тачскрина?
#36 by spectre1978
"...которая бы открывалась из 1с и закрывалась по щелчку мыши" - так в том и дело, что Я НЕ МОГУ В 1С81 ОТЛОВИТЬ СОБЫТИЕ МЫШКИ (тачскрина)!!!!!!!!!!!!!!!!!!!!!! я имел в виду, что по щелчку мыши должна закрываться внешняя программа, которая показывает слайд-шоу. 1С трогать вообще не надо, пусть работает как работает.
#37 by Ayne
Дружище, может получится сделать по-простому, по-дедовски? Это свое слайд-шоу показываешь через стандартный элемент "поле изображения" + обработчик ожидания (чтоб картинки менять), на него вешаешь событие "Нажатие", которым прерываешь показ, и вуаля, готово. С отслеживанием мыши в 1С я покочевряжился да и плюнул. Простого решения нет (по крайней мере, для 1Сника :) ). Могу в принципе налабать пример с полем HTML, там ничего сложного. Есть еще вот такая штука: Рисуешь HTML-ем произвольные области, на фон можно картинку поставить. Пользователь на планшете тыркает по картинкам, отмечает что ему нужно - все довольны.
#38 by 247tsm
Сначала я хотел использовать Макет с ActiveDocument и вставить туда презентацию PowerPoint - всё красиво получалось, но пользователь отказался, т.к. в этом случае нужна лицензия на PowerPoint! Поэтому и кочевряжусь с попытками сделать средствами 1С81 + какие-нибудь DLL-ки.
#39 by 247tsm
Можно попробовать. Я делал так: пустая форма со свойством "Режим рабочего стола" и по таймеру меняю фоновую картинку. У формы есть метод ВнешнееСобытие, но он молчит на мышку, клавиатуру, тачскрин... Зачем он тогда нужен? Отловить нажатие тачскрина (мышки) пока не смог, да и такое впечатление, что никто на форуме не может. Попробую твою идею.
#40 by 247tsm
А вообще, отловить нажатие нужно всего лишь для того, чтобы прервать слайд-шоу. Вот такая простая штука и... облом.
#41 by Ayne
Ну дык правильно, какой смысл пихать картинку в фон формы, если нужно отследить нажатие. Фон на то он и фон. Вот тебе ради эксперимента вариант с полем HTML, но ты все равно делай через поле картинки. Это чисто так, для повышения уровня образованности. :) Папку кидаешь прям на диск C (или в коде переписываешь в обработке адреса картинок из папки и кидаешь куда хочешь).
#42 by 247tsm
Еще вопрос общего характера. Как на форуме зайти в мою тему с возможностью добавить сообщение? Пошел попить чай, прихожу - не могу добавлять сообщения. Захожу снова на форум, нажимаю на ВХОД, ввожу имя, пароль. Затем выбираю СВОЮ тему и... не могу в ней ничего добавить!!! Что еще нужно сделать для возможности добавлять сообщения?
#43 by Dmitry1c
это к
#44 by 247tsm
А как к нему попасть на прием?
#45 by Dmitry1c
не знаю. Когда я спросил на мисте, можно ли тут писать личные сообщения, мою ветку удалили, угрожая забанить за троллинг. Такие дела.
#46 by 247tsm
Попробовал с полем картинки, но то ли мне не везёт, то ли ручки кривые - событие у картинки НАЖАТИЕ не отрабатывает - не реагирует на нажатие клавиши, мышки, чихание, кашляние... И как с этим бороться?
#47 by 247tsm
Я делаю практически, как в твоей ссылке с полем HTML, только для картинки. Может у тебя есть работающий пример с картинкой? Кстати, с полем HTML работает.
#48 by spectre1978
крыжик "Гиперссылка" в свойствах поля картинки взвел?
#49 by пипец
ищи Accel.dll   для 7-ки работала ... как раз события мыши УстановитьСобытиеМыши(<?>,,,) Синтаксис: УстановитьСобытиеМыши(<КонтекстФормы>, <ИмяРеквизита>, <ТипСобытия>, <ФлагСтандартнойОбработки>) Назначение: устанавливает для элемента управления реакцию на событие мыши. Параметры: <КонтекстФормы> - контекст формы, в которой расположен элемент управления. <ИмяРеквизита> - имя элемента управления как оно задано в конфигураторе. Если событие обрабатывается для всей формы, параметр <ИмяРеквизита> должен состаять из ключевого слова ''ФОРМА'' (FORM). <ТипСобытия> - тип обрабатываемого события - сообщения мыши. <ФлагСтандартнойОбработки> - определяет будет ли выполняться стандартная обработка для этого сочетания клавиш. Замечание: определения типов событий мыши можно найти в примере (Accel.ert) или MSDN (раздел 'Mouse Input Messages'').
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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