gifts2017

Кнопка реагирует на движение мыши или как поймать координаты курсора

Опубликовал Юрий Тимофеев (Tatitutu) в раздел Программирование - Работа с интерфейсом

Это не шутка и не розыгрыш !
КНОПКА реагирует на движение мышки, при приближении перемещается в свободное место на форме.
Это реальная обработка с открытым кодом, которая демонстрирует возможность только встроенными средствами 1С отлавливать все действия мыши и нажатие кнопок.
Поймай меня, если сможешь.

 

Шутка старая. Баян не мой. Но сегодня со мной ОЧеНЬ СИЛЬНО спорили , что такое нельзя реализовать без внешних компонент.

Без внешних компонент - лично я имею ввиду, что нет встроенных и подключаемых библиотек (встроенных макетов в обработке нет)

Но у кого нет MS OFFICE на компьютере - может "не взлететь". Почему? Догадайтесь сами - вы же программист.

Оценивайте, комментриуйте. Все гениальное - просто, как мир (с) Ваш Tatitutu

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
Escapingbutton.epf
.epf 44,65Kb
06.06.15
51
.epf 1.0.01 44,65Kb 51 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. eugenie zheludkov (eugeniezheludkov) 31.03.15 01:40
т.е по вашему ActiveX компонента это "встроенные средства" и никак не внешние? ) а еще эта обработка не будет работать на Linux, а на Windows XP к примеру ActiveX Radiobutton работает по иному и все это нужно учитывать в коде, я в 2012 хотел огромный бизнес процесс "замутить"/реализовать на "стандартных" ActiveX компонентах и оно даже взлетело на 7, но когда выяснилось что у половины пользователей стоит XP (9000 пользователей) и все это перестало работать, пришлось переделывать заново...ИМХО: мне кажется вы проиграли оппоненту.
borrman; EmpireSer; sikuda; amon_ra; ojiojiowka; CrazyCD; kraynev-navi; +7 Ответить 2
2. Юрий Тимофеев (Tatitutu) 31.03.15 03:44
(1) Спасибо за позитивный отзыв.
Отличное чувство юмора.
А как бы сделал ты ?

Завтра (1 апреля) береги спину от мела))))
Улыбнись, выдыхай и иногда отдыхай.
Tatitutu - никогда не проигрывает априори. (С)
3. С К (kraynev-navi) 31.03.15 08:47
Тогда уж проще в html-поле засунуть javascript, который исполнит этот функционал. И со совместимостью будет получше. Хотя это "такие же" встроенные средства как вам и объяснили в (1).
EmpireSer; sikuda; +2 Ответить 1
4. Александр Отр (ИНТЕГРА) 31.03.15 09:02
5. Юрий Тимофеев (Tatitutu) 31.03.15 09:52
(3) Этим и прекрасна 1С - что практически любую задачу можно решить различными способами.
Один будет оптимальный,другой быстрый , третий оригинальный, четвертый - жалкой попыткой.
Ты еще предложи приложение на смартфон скачать. Если можешь написать - пиши, делись, будем посмотреть.

Но, еще раз обращаю ваше внимание - это не НОМИНАЦИЯ на Нобелевскую премию.
Это хороший пример с ОТКРЫТЫМ КОДОМ
- как отловить нажатие клавиш мыши (промахнитесь по кнопке и кликнетите по форме)
- нетриваильная работа с КАРТИНКОЙ
- пример создания программно объекта на форме
- псевдозаблуждение в коде )))
- и кучка маленьких секретов
ну и самое главное - это конечно же ЮМОР и ПОЗИТИВ данной обработки

Дословно вопрос стоял так : "Хочу сделать убегающую кнопку на форме для бухглатера (достала)" можно ли такое организовать ?"
около 50 уважаемых мною людей - категорично ответили "НЕТ".
Что в 1С на форме нельзя получить координаты мыши, что нужно подключать различные БИБЛИОТЕКИ ( *.dll)

Я сказал , что можно "Засекайте время" 10 строчек кода + бантики = около 15 минут.
Цель : показать возможность и расширить навыки программирования.
Применение : указано в теме заголовка 1 АПРЕЛЯ - розыграть коллегу бухгалтера, поднять настроение.
Я думаю удалось на все 100% - оригинально, без лишних затрах. Думаю для многих будет интересно и полезно.
В голове уже есть пример двух игрушек - будет время обязательно реализую.

(4) Не поверишь и рядом не стояли. Шутка ложь- да в ней намек (с)
6. Сергей Рудаков (fishca) 31.03.15 13:59
Понравилось! Спасибо!
Tatitutu; +1 Ответить
7. Алексей Ко (Жолтокнижниг) 31.03.15 14:04
(5) Tatitutu,
Этим и прекрасна 1С - что практически любую задачу можно решить различными способами

А вы другие языки пробовали? Звучит немного смешно.
8. Юрий Тимофеев (Tatitutu) 31.03.15 15:00
(7) Жолтокнижниг,

Мне одному кажется , что у этого сайта основное направление 1С
Ну если тебе смешно, это уже хорошо - значит не все потеряно )))
9. Юрий Тимофеев (Tatitutu) 01.04.15 10:05
C 1 апреля всех и вся ! Налетай !
10. Виталий Быков (sick_russian) 02.04.15 10:29
у меня не сработала.. кнопка тупо зависла на середине формы.. а по клику реклама какой то разработки для магазина))
Дмитрий74Чел; +1 Ответить 1
11. Юрий Тимофеев (Tatitutu) 02.04.15 10:40
(10) sick_russian,
Какая платформа ? Конфигурация ?
Microsoft Office установлен на компьюторе ?
Так как используется объект Microsoft Forms 2.0 Frame
он то и позволяет "отлавливать" все действия и движения мыши на форме.

(и не какой-то , а самой лучшей! (с) право автора)
12. Дмитрий Г (Дмитрий74Чел) 10.04.15 16:22
(11) в описание добавьте - а то розыгрыш не удался(((
13. bulpi bulpi (bulpi) 13.04.15 12:49
Юмор - это хорошо, товарищи. Но "только встроенными средствами 1С" - это не юмор, а обман.
14. Юрий Тимофеев (Tatitutu) 14.04.15 21:08
(13) bulpi, И в чем обман ?

Ребята, господа, коллеги , друзья , товарищи - где вы все ? Что с вами случилось ?
Неужели это не элегантное решение - не ужели вы не подчеркнули для себя ,что то нового ?
Только и гундешь - обман, обман, меня развелииииииииииииииииии.

А это НЕ "только встроенными средствами 1С" ?
15. Юрий Тимофеев (Tatitutu) 14.04.15 21:13
(12) Дмитрий74Чел,

Удался ! Еще как удался - и это не розыгрыш и не обман
Это конкретное решение поставленной задачи и 6 бутылок коньяка.
И я их честно выиграл в споре.
Удачи все и ваших начинаниях.
Вчера хотел выложить НОВУЮ КРЕАТИВНУЮ ИДЕЮ - как сжимать КАРТИНКИ в офисе
без ВНЕШНИХ КОМПОНЕНТ без АКТИВ Х без всего - один маленький прием и вы в дамках.
Теперь думаю , а зачем ?
Все серьезные и злые - неужели так жизнь достала ?
Вот тут раньше времена были - сайт аж тресся так,что провайдет думал - это блохи.
За один день можно было стать и ХАРД МОДЕРАТОРОМ и три раза быть забаненным.

Господа ! Если ВЫ ВСЕ ТАКИЕ УМНЫЕ - предложите АЛЬТЕРНАТИВНЫЙ ВАРИАНТ данной постановки задачи !
16. Сергей Кудашкин (sikuda) 17.04.15 13:07
(15) Tatitutu, без ВНЕШНИХ КОМПОНЕНТ без АКТИВ Х без всего
с тебя одна бутылка. Пример кода даже на УФ.

&НаКлиенте
Процедура ПриОткрытии(Отказ)
ПодключитьОбработчикОжидания("Отсчет", 0.1, Истина);
КонецПроцедуры

&НаКлиенте
Процедура Отсчет()
Элементы.Up.Высота = ТекущаяУниверсальнаяДатаВМиллисекундах() % 20;
Элементы.Left.Ширина = ТекущаяУниверсальнаяДатаВМиллисекундах() % 40;
ПодключитьОбработчикОжидания("Отсчет", 0.1, Истина);
КонецПроцедуры

&НаКлиенте
Процедура ПередЗакрытием(Отказ, СтандартнаяОбработка)
ОтключитьОбработчикОжидания("Отсчет");
КонецПроцедуры

&НаКлиенте
Процедура СделатьВсе(Команда)
Сообщить("Молодец! Возьми пирожок, понюхай его и положи на место.");
КонецПроцедуры

Так, что про сжатие катринок не томи. JPEG это сжатый уже формат, как правило с потерей качества. Как ты предлагаешь еще качество понизить?
Прикрепленные файлы:
БегающаяКнопка.epf
17. Юрий Тимофеев (Tatitutu) 21.04.15 14:07
(16) sikuda,

За идею - спасибо, молодец.
Но у меня - кнопка реагирует на ПРИБЛЕЖЕНИЕ курсора мышка.
Изюминка мой идеи : это как раз и отлавливание координат мышки и ее действий
в простом состоянии она неподвижна.
В твоем же предложение - она "бегает" как больная ))))
Так что , бутылку я не проспорил, но с удовольствием бы выпил ее вместе.

Про картинки помню, спасибо. До конца недели постараюсь отписаться.
Styvi; sikuda; +2 Ответить
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа