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

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

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

 

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

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

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

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

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

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

См. также

Комментарии
1. eugenie zheludkov (eugeniezheludkov) 30 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) 3580 31.03.15 03:44 Сейчас в теме
(1) Спасибо за позитивный отзыв.
Отличное чувство юмора.
А как бы сделал ты ?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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