gifts2017

[CursorManager] Внешняя компонента для управления курсором мыши.

Опубликовал Василий Демидов (Душелов) в раздел Программирование - Внешние компоненты

  Компонента позволяет выводить процент выполнения обработки данных из 1С,
  заменяя стандартный 1С-овский курсор. Загружает обычные курсоры из файлов (*.cur)
  и анимированные (*.ani), а так же системные курсоры.
  Есть возможность установки курсора на нужное окно (форму) 1С.

 

*** Для работы компоненты потребуется установленный Microsoft .NET Framework 2.0, который можно скачать отсюда.

и зарегистрировать компоненту в Windows - запустить reg.bat

*** Подключение:

Перем ВК;

ПОДКЛЮЧЕНИЕ КОМПОНЕНТЫ В 1С 7.7:

ИмяВК="AddIn.CursorManager";

Попытка
ПодключитьВнешнююКомпоненту(ИмяВК);
Исключение
Сообщить("Не удалось подключить компоненту "+ИмяВК);
КонецПопытки;

Попытка
ВК = СоздатьОбъект(ИмяВК);
Исключение
Сообщить("Ошибка создания объекта внешней компоненты: "+ ИмяВК);
КонецПопытки;



ПОДКЛЮЧЕНИЕ КОМПОНЕНТЫ В 1С 8.x:

ИмяВК="AddIn.CursorManager";

Попытка
ПодключитьВнешнююКомпоненту(ИмяВК);
Исключение
Сообщить("Не удалось подключить компоненту " + ИмяВК);
КонецПопытки;

Попытка
ВК = Новый(ИмяВК);
Исключение
Сообщить("Ошибка создания объекта внешней компоненты: " + ИмяВК);
КонецПопытки;



*** Свойства:

- Процент //число
- ЦветПроцента //объект типа "Цвет"
- ШрифтПроцента //объект типа "Шрифт"
- РазмерПроцента //число
- Мышь //объект типа "Мышь"

*** Методы:

- УстановитьКурсорПоУмолчанию();
- ПолучитьШрифт(Название, Размер, Стиль); //создает объект типа "Шрифт".
//Название - имя шрифта, размер - число, стиль - строка с описанием шрифта, разделенные "|" (bold, italic, strikeout, underline)
- ПолучитьЦвет(r, g, b); //создает объект типа "Цвет".
//r, g, b - числа
- Закрыть(); //очистка памяти
- ОКомпоненте(); //информацию о компоненте
- ЗагрузитьКурсор(ПутьКФайлу); //создает объект типа "Курсор"
- УстановитьКурсор(Курсор) //`установка курсора на все окна 1С
- УстановитьКурсор(Курсор, ИдентификаторОкна); //устанавливает курсор на нужное окно
- ПолучитьИдентификаторОкна(ЗаголовокОкна); //получает идентификатор окна по его заголовку
- СистемныйКурсор(ИмяКурсора); //создает объект типа "Курсор"
- НажатьКлавишу(Клавиша); //клавиша - строка, пример = "{F4}"

*** "Мышь":

- Нажать(x, y); //нажимает ("кликает") курсором по координатам экрана
- НажатьИПеретащить(x1, y1, x2, y2); //нажимает и перетаскивает курсором из точки x1, y1 в точку x2, y2
- НажатьКнопку(КнопкаМыши); //нажимает кнопку мыши, (КнопкаМыши - "left", "right", "middle")
- ОтпуститьКнопку(КнопкаМыши); //отпускает кнопку мыши, (КнопкаМыши - "left", "right", "middle")
- ПолучитьПозициюX(); //получает координату курсора
- ПолучитьПозициюY(); //получает координату курсора
- Двинуть(x, y); //двигает курсор на заданную координату

*** Имена системных курсоров:

- AppStarting
- Arrow
- Cross
- Hand
- Help
- HSplit
- IBeam
- No
- NoMove2D
- NoMoveHoriz
- NoMoveVert
- PanEast
- PanNE
- PanNorth
- PanNW
- PanSE
- PanSouth
- PanSW
- PanWest
- SizeAll
- SizeNESW
- SizeNS
- SizeNWSE
- SizeWE
- UpArrow
- VSplit
- WaitCursor

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

Наименование Файл Версия Размер
- 140
.zip 76,30Kb
27.11.14
140
.zip 76,30Kb Бесплатно

См. также

Подписаться Добавить вознаграждение
Комментарии
1. dushelov (Душелов) 28.10.09 17:13
Понадобилось сегодня сделать индикацию выполнения обработки нормальную. А 1С-овской окно бывает "залипает"... Вот и набросал такой вариант индикации.
2. alnazarov (alnazarov) 28.10.09 19:42
3. Parazyte (Parazyte) 28.10.09 20:40
4. dushelov (Душелов) 28.10.09 22:40
Добавил возможность загрузки курсоров из файла, использование системных курсоров, привязку курсора к конкретном окну 1С
5. Сергей (Che) Коцюра (CheBurator) 29.10.09 04:09
лучше сделал бы - чем ближе к финишу - тем чаще появляетс янадпись "хочу печеньку"
6. Епрст (Ёпрст) 29.10.09 07:35
ЭЭэ... а AutoIt чем не подошел ?
:)
7. Епрст (Ёпрст) 29.10.09 07:36
+6 и формексом можно установить любой курсор для любого атрибута/самой формы...
8. dushelov (Душелов) 29.10.09 07:58
(7) Извините, я с 7-кой не работаю.
(6) Не доверяю я этим непонятным скриптам :)
Мне надо контролировать все и спокойно расширить нужный мне функционал.
9. Епрст (Ёпрст) 29.10.09 08:27
(8) Ну, там не только скриптовый язык, там еще и ВК есть.
10. Епрст (Ёпрст) 29.10.09 08:30
+9 просто, с помощью формекса есть возможность сделать любой курсор для любого атрибута, а с помощью аутоит - "подвинуть" его визуально куда угодно..

ЗЫ: Мот в своей ВК сделаешь "двиганье" курсора ?
11. dushelov (Душелов) 29.10.09 08:36
(10) А в формэксе можно сделать курсор-индикатор прогресса?
Добавить "двигание" мышкой? Да добавлю, не вопрос :)
12. vip (vip) 29.10.09 08:52
(10) Я двигаю и кликаю с помощью своей ВК.
13. Епрст (Ёпрст) 29.10.09 08:56
(11) Э... можно загрузить любой свой - хоть cur хоть ani ...
14. Епрст (Ёпрст) 29.10.09 08:57
+13 я в "арканоиде" так и сделал - тупо нарисовал пустой курсор и подсунул его...
15. Епрст (Ёпрст) 29.10.09 08:59
(12) Ну.. не все же такие монстры :)

ЗЫ: просто в автоуит красивенько сделано - и движение курсора с разной скоростью/плавностью сз одной координаты в другую + эммуляция клика/дабл клика мыши.. в общем, много событий..
16. dushelov (Душелов) 29.10.09 10:14
(11) На каждый процент подсовывать свой курсор? :o
17. dushelov (Душелов) 29.10.09 10:17
Добавил:

Свойство:
- Мышь //объект типа "Мышь"

Метод:
- НажатьКлавишу(Клавиша); //клавиша - строка, пример = "{F4}"

Объект "Мышь":

- Нажать(x, y); //нажимает ("кликает") курсором по координатам экрана
- НажатьИПеретащить(x1, y1, x2, y2); //нажимает и перетаскивает курсором из точки x1, y1 в точку x2, y2
- НажатьКнопку(КнопкаМыши); //нажимает кнопку мыши, (КнопкаМыши - "left", "right", "middle")
- ОтпуститьКнопку(КнопкаМыши); //отпускает кнопку мыши, (КнопкаМыши - "left", "right", "middle")
- ПолучитьПозициюX(); //получает координату курсора
- ПолучитьПозициюY(); //получает координату курсора
- Двинуть(x, y); //двигает курсор на заданную координату
18. Епрст (Ёпрст) 29.10.09 10:17
(16) Твою вк еще не смотрел :) ..
Т.е ты рядом с курсором еще что-то выводишь ? т.е процент свой ?...
19. Епрст (Ёпрст) 29.10.09 10:18
20. dushelov (Душелов) 29.10.09 10:21
(18) Не рядом с курсором, а вместо курсора - процент выполнения (шрифт, цвет и размер настраиваемые).
21. Сергей Кобяков (Serjik78) 29.10.09 11:11
Надо будет поиздеваться над юзерами :D
22. Сергей (Che) Коцюра (CheBurator) 30.10.09 01:54
(17) осталось сделать метод Мышь.АвтоматомНавестиНаКнопкуСзаголовком(ЗАДАННЫЙЗАГОЛОВОК).ИКЛИКНУТЬ()
23. dushelov (Душелов) 30.10.09 08:02
24. Андрей Кундеренко (mir-inoy) 30.10.09 15:59
(22) Тогда уж еще и метод Мышь.ИстеричноПодергать() в нагрузку... А просто так :D
25. Аркадий Кучер (Abadonna) 01.11.09 11:21

ПОДКЛЮЧЕНИЕ КОМПОНЕНТЫ В 1С 7.7
Попытка
ПодключитьВнешнююКомпоненту(ИмяВК);
Исключение
Сообщить("Не удалось подключить компоненту "+ИмяВК);
КонецПопытки;

Вась, детская ошибочка, однако ;)
Для 7.7 это не процедура, а функция:
ПодключитьВнешнююКомпоненту, равно как ЗагрузитьВнешнююКомпоненту
возвращают 1 (подключена) или 0 - не удалось
Так что Попытка пройдет всегда
26. Роман Зиновьев (Широкий) 14.02.10 01:45
(25) А вдруг у него компонента настолько продвинута, что подключается в любом случае :D
27. Алексей Миронов (a_mironov) 11.12.11 04:21
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа