NativeDraw: Компонента рисования для 1С [V2.6.2]

08.08.16

Разработка - Разработка внешних компонент

Рисуйте в формах 1С, также предлагается небольшое количество нерисовальных функций

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

Наименование Файл Версия Размер
NativeDraw Исходники (VS2015)
.rar 12,60Mb
92
.rar 2.6.2 12,60Mb 92 Скачать
Пример "Танк"
.epf 1,20Mb
64
.epf 2.6.2 1,20Mb 64 Скачать
Пример "Примитивы"
.epf 136,10Kb
76
.epf 2.6.2 136,10Kb 76 Скачать
Пример "Изображения: Поворот, Отражение, Изменение размера"
.epf 154,17Kb
39
.epf 2.6.2 154,17Kb 39 Скачать
Пример "Изображения: Буфер обмена"
.epf 325,06Kb
37
.epf 2.6.2 325,06Kb 37 Скачать
Пример "Хуки, окна, выделение мышью"
.epf 147,14Kb
60
.epf 2.6.2 147,14Kb 60 Скачать
Пример "Отрисовка EAN13"
.epf 138,89Kb
28
.epf 2.6.2 138,89Kb 28 Скачать
Внешняя компонента NativeDraw
.dll 179,50Kb
109
.dll 2.6.2 179,50Kb 109 Скачать

Возможности и характеристики

  1. Данная внешняя компонента сделана по технологии NativeAPI, можно подключать прямо из макета и лишних регистраций
  2. Отрисовка происходит в памяти, результат получаем в виде двоичных данных, которые можно преобразовать в картинку и встроить куда угодно: на форму или даже на кнопку
  3. Возможность рисования с учётом полупрозрачности
  4. Работа с изображениями и буфером обмена
  5. Возможность задания собственного таймера отрисовки. Будет приходить внешнее событие
  6. Работа с клавиатурой, мышкой, окнами
  7. Компонента работает как со старой платформой 8.2.x-8.3.5, так и с новой 8.3.6
  8. Доступны открытые исходники, сама отрисовка сделана через библиотеку GDI+, всё структурировано, и можно легко добавлять свои методы
  9. Visual Studio 2015 / C++
Описание методов
 
[Число ФорматВыводимойКартинки]
0 - BMP
1 - PNG
2 - GIF
3 - JPG
4 - TIFF
5 - ICO

[Строка БуферОбмена]
БуферОбмена

[Строка Цвет]
Красный
Оранжевый
Жёлтый
Зелёный
Синий
Феолетовый
Серый
Белый
Чёрный

[Строка Координаты]
Последовательность из |%04X:%04X|,
где %04X - 4 знаковое HEX число. То есть:
|0001:0002||0064:0064||0100:0101| это
1. X = 1 / Y = 2
2. X = 100 / Y = 100
3. X = 256 / Y = 257


[Число Выравнивание]
0 - Лево / Верх
1 - Центр
2 - Право / Низ

[Строка Шрифт]
Arial
Tahoma
Times New Roman
и др.

[Число СтильШрифта]
0 - Нет
1 - Жирный
2 - Курсив
3 - Жирный + Курсив
4 - Подчёркнутый
8 - Зачёркнутый

[Строка ДействиеКлавиши]
НажатиеКлавиши
ПовторКлавиши
ОтпусканиеКлавиши

[Строка ДействиеМыши]
ДвижениеМыши
НажатиеЛевойКнопкиМыши
ОтпусканиеЛевойКнопкиМыши
ДвойнойКликЛевойКнопкиМыши
НажатиеПравойКнопкиМыши
ОтпусканиеПравойКнопкиМыши
ДвойнойКликПравойКнопкиМыши
НажатиеСреднейКнопкиМыши
ОтпусканиеСреднейКнопкиМыши
ДвойнойКликСреднейКнопкиМыши
НажатиеXКнопкиМыши
ОтпусканиеXКнопкиМыши
ДвойнойКликXКнопкиМыши
ДвижениеКолесаМыши

[Строка СобытиеОкна]
ОкноИзменено
ОкноРазвёрнуто
ОкноСвёрнуто
ОкноВосстановлено

[Число СовместноНажатыеСМышьюКнопки]
1 - Левая кнопка мыши
2 - Правая кнопка мыши
4 - SHIFT
8 - CTRL
16 - Средняя кнопка мыши
32 - Кнопка мыши X1
64 - Кнопка мыши X2

//Холст (Canvas)

[Строка Холст]
Холст_Создать(Число Ширина, Число Высота, Число ФорматВыводимойКартинки);

[ДвоичныеДанные Картинка]
Холст_ДвоичныеДанные(Строка Холст);

[ДвоичныеДанные Картинка]
Холст_УчастокДвоичныеДанные(Строка Холст, Число X, Число Y, Число W, Число H);

[Булево Результат]
Холст_Удалить(Строка Холст);

//Изображение (Image)

[Строка Изображение]
Изображение_Создать(Строка Холст_Изображение_БуферОбмена_ПутьКФайлу);

[Булево Результат]
Изображение_ИзменитьРазмер(Строка Изображение, Число Ширина, Число Высота);

[Булево Результат]
Изображение_Повернуть(Строка Изображение, Число Угол, Булево ИзменятьРазрешение);

[Булево Результат]
Изображение_Отразить(Строка Изображение, Булево X, Булево Y);

[Булево Результат]
Изображение_Обрезать(Строка Изображение, Число X, Число Y, Число W, Число H);

[Булево Результат]
Изображение_ВБуферОбмена(Строка Изображение);

[Число Ширина]
Изображение_ПолучитьШирину(Строка Изображение);

[Число Высота]
Изображение_ПолучитьВысоту(Строка Изображение);

[ДвоичныеДанные Картинка]
Изображение_ДвоичныеДанные(Строка Изображение, Число ФорматВыводимойКартинки);

[ДвоичныеДанные Картинка]
Изображение_УчастокДвоичныеДанные(Строка Изображение, Число ФорматВыводимойКартинки, Число X, Число Y, Число W, Число H);

[Булево Результат]
Изображение_Удалить(Строка Изображение);

//Рисование (Draw)

[Строка Цвет]
Рисование_ПолучитьЦвет(Число A, Число R, Число G, Число B);

[Строка Координаты]
Рисование_ДобавитьТочки(Строка Координаты, Число X, Число Y);

[Процедура]
Рисование_Точка(Строка Холст, Число X, Число Y, Строка Цвет);

[Процедура]
Рисование_Линия(Строка Холст, Число X1, Число Y1, Число X2, Число Y2, Число Толщина, Строка Цвет);

[Процедура]
Рисование_Эллипс(Строка Холст, Число X, Число Y, Число W, Число H, Число Толщина, Строка Цвет);

[Процедура]
Рисование_ЗаполненныйЭллипс(Строка Холст, Число X, Число Y, Число W, Число H, Строка Цвет);

[Процедура]
Рисование_Прямоугольник(Строка Холст, Число X, Число Y, Число W, Число H, Число Толщина, Строка Цвет);

[Процедура]
Рисование_ЗаполненныйПрямоугольник(Строка Холст, Число X, Число Y, Число W, Число H, Строка Цвет);

[Процедура]
Рисование_Треугольник(Строка Холст, Число X1, Число Y1, Число X2, Число Y2, Число X3, Число Y3, Число Толщина, Строка Цвет);

[Процедура]
Рисование_ЗаполненныйТреугольник(Строка Холст, Число X1, Число Y1, Число X2, Число Y2, Число X3, Число Y3, Строка Цвет);

[Процедура]
Рисование_Многоугольник(Строка Холст, Строка Координаты, Число Толщина, Строка Цвет);

[Процедура]
Рисование_ЗаполненныйМногоугольник(Строка Холст, Строка Координаты, Строка Цвет);

[Процедура]
Рисование_Текст(Строка Холст, Строка Текст, Число X, Число Y, Число W, Число H, Число ВертикальноеВыравнивание, Число ГоризонтальноеВыравнивание, Строка Шрифт, Число РазмерШрифта, Число СтильШрифта, Строка Цвет);

[Процедура]
Рисование_Изображение(Строка Холст, Строка Изображение, Число X, Число Y, Число W, Число H, Число Угол, Булево Отразить_X, Булево Отразить_Y);

//Таймер (Timer)

[Строка Таймер]
Таймер_Запустить(Число Период);

[Булево Результат]
Таймер_Остановить(Строка Таймер);

//Перехват (Hook)

[Булево Результат]
Перехват_Установить();

[Булево Результат]
Перехват_Убрать();

[Булево Результат]
Перехват_Установлен();

//Ввод (Input)

[Булево Результат]
Ввод_АктивироватьПерехватКлавиатуры();

[Булево Результат]
Ввод_ЗадатьПерехватКлавиши(Число VK_KEY, Булево Блокировать);

[Булево Результат]
Ввод_УбратьПерехватКлавиши(Число VK_KEY);

[Булево Результат]
Ввод_ДеактивироватьПерехватКлавиатуры();

[Булево Результат]
Ввод_АктивироватьПерехватМыши();

[Булево Результат]
Ввод_ЗадатьПерехватДействияМыши(Строка ДействиеМыши, Булево Блокировать);

[Булево Результат]
Ввод_УбратьПерехватДействияМыши(Строка ДействиеМыши);

[Булево Результат]
Ввод_ДеактивироватьПерехватМыши();

// Окно (Window)

[Строка Окно]
Окно_Главное();

[Строка Окно]
Окно_ПолучитьПоЗаголовку(Строка Заголовок);

[Булево Результат]
Окно_Дочернее(Строка Окно);

[Булево Результат]
Окно_ПолучитьКоординаты(Строка Окно, Число X1, Число Y1, Число X2, Число Y2);

[Булево Результат]
Окно_ВОтносительныеКоординаты(Строка Окно, Число X, Число Y);

[Булево Результат]
Окно_Переместить(Строка Окно, Число X1, Число Y1, Число X2, Число Y2);

[Булево Результат]
Окно_АктивироватьПерехват();

[Булево Результат]
Окно_ЗадатьПерехват(Строка Окно);

[Булево Результат]
Окно_УбратьПерехват(Строка Окно);

[Булево Результат]
Окно_ДеактивироватьПерехват();

//Тест (Test)

[Булево Результат]
Тест_ВнешнееСобытие(Строка Источник, Строка Событие, Строка Данные);

// Внешние события

Источник
	"NativeDraw"

[Таймер]
Cобытие
	"СистемныйТаймер"
Данные
	Таймер

[Клавиатура]
Cобытие
	ДействиеКлавиши
Данные
	Окно|0|0|КодКлавиши|0

[Мышь]
Cобытие
	ДействиеМыши
Данные
	Окно|X|Y|СовместноНажатыеСМышьюКнопки|ЗначениеКолесаМыши

[Окно]
Cобытие
	СобытиеОкна
Данные
	Окно
Примеры
Танк
Управление 
W - Вперёд / S - Назад / A - Влево / D - Вправо / F - Выстрел
 
 
Поворот изображения
 
 
Буфер обмена
Отрисовка примитивов
EAN-13
Отрисовка штрих-кода EAN13. Важно знать, сама компонента не генерирует изображение штрих-кода. Всё сделано средствами 1С, от компоненты было лишь рисование линий и текста
 
 
Ввод, Хуки, Окна
Выделение мышкой, отлов клавиш
 
Проекты с использованием компоненты
История версий
  • 1.0 - Первая публичная версия
  • 1.1 - Адаптировано для новых платформ
  • 2.0 - Добавлена работа с изображениями, таймеры теперь не часть региона рисования, фиксы, переименование ф-ий
  • 2.1 - Фиксы, добавлена работа с буфером обмена (Изображения)
  • 2.2 - Добавлена ф-ия Изображение_ИзменитьРазмер(), в DLL-файле теперь прописана версия
  • 2.3 - Переделана работа с хуками, добавлена поддержка мыши, добавлены некоторые функции получения окон (для вычисления координат для мыши), переименованы события
  • 2.4 - Несколько проверок в коде, тестовая функция для внешнего события
  • 2.5 - Переделан немного вывод картинки, добавлено несколько форматов выводимой картинки, добавлены 2 функции для получения двоичных данных сразу с изображений
  • 2.5.1 - Фиксы
  • 2.6 - Переделана архитектура компоненты в части работы с хуками. Хуки теперь не часть ввода. Добавлены функции и события для отлова событий окон. (Пример: Ввод, Хуки, Окна)
  • 2.6.1 - Исправлены ошибки в ф-иях буфера обмена
  • 2.6.2 - Добавлена отрисовка многоугольников, перекомпиляция для работы с Windows 7
Внимание

В файлах-примерах внешняя компонента уже вшита, но не всегда последняя.
Последнюю версию можно скачать отдельным файлом или скомпилировать исходники.
В файлах-примерах внешняя компонента подгружается из макета, но 1С иногда это как-то
криво делает и может загрузить старую версию вместо новой (у компоненты есть свойство "Версия").
Для устранения проблемы почистите кеш.

1c native draw dll gdi+ c++

См. также

Медиадисплей. Рекламный информационный монитор для покупателя.

Разработка внешних компонент POS терминал Рабочее место Розничная торговля Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Розничная и сетевая торговля (FMCG) Рестораны, кафе и фаст-фуд Реклама, PR и маркетинг Управленческий учет Платные (руб)

Монитор покупателя может отображать текущую покупку на кассовом месте, показывать видеорекламу, баннеры, во время простоя разворачивать рекламу на весь экран. Можно использовать в качестве графического меню-борда в кафе и видеовывески. Управление выводом на телевизор через hdmi-приставку на базе Windows или Android. В качестве устройства отображения можно использовать Android-планшеты, фоторамки с Android, монитор любого Windows-компьютера, доступного по сети. Настраивается ЛЮБОЙ ДИЗАЙН экрана!

16800 руб.

30.05.2017    52103    34    69    

43

Богатый редактор картинок, хранимых в базе, с возможностью РИСОВАНИЯ. Редактор внешних файлов картинок. Объект, расширяющий возможности работы с картинками из встроенного языка (Три в одном) + Обработка «Стандартизация картинок»

Работа с интерфейсом Рабочее место Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

Обработка предназначена для редактирования картинок в режиме «Предприятие», с возможностью РИСОВАТЬ на них. Поддерживается работа как в обычных формах (толстый клиент) так и на управляемых формах (тонкий клиент). Обработка позволяет редактировать как картинки, хранимые в базе, так и графические файлы с диска на файловой системе. Помимо базовых функций (изменение размеров, преобразование формата, обрезание картинки, повороты и т.п.) – редактор имеет богатый набор инструментов для рисования. Доступна функция вставки изображения из буфера обмена. Также обработка может быть использована из встроенного языка как объект для редактирования картинок. Объект может быть использован: на стороне клиента, на стороне сервера, из внешнего соединения. Данная обработка будет особенно полезна тем, кто вносит картинки в базу (изображения номенклатуры, фотографии физических лиц и т.п.). Функционал реализуется с использованием JavaScript и бесплатного ПО ImageMagick (без использования внешних компонент).

6000 руб.

16.01.2015    61795    43    59    

80

[Расширения] Динамическое управление видимостью и доступностью элементов форм (УФ) (8.3.6+)

Работа с интерфейсом Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

Механизм «Динамическое управление доступом к элементам форм объектов 1С8» предназначен для обеспечения возможности оперативного управления видимостью и доступностью элементов форм документов и справочников продуктов фирмы «1С» «1С:Предприятие 8». Решение универсальное, встраивается в любую конфигурацию с минимальными доработками, что позволяет без проблем обновлять типовые решения.

5000 руб.

14.01.2016    54402    16    21    

42

Управление дашбордами

Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Обработка предназначена для создания и управления дашбордами.

2400 руб.

29.06.2020    16697    21    4    

35

Внешняя компонента для сканирования (замена TWAIN-компоненты БСП) (Native Win 32/64)

Разработка внешних компонент Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Внешняя компонента позволяет работать c TWAIN-совместимым оборудованием (сканерами, камерами) . Полностью совместима со стандартной TWAIN-компонентой из БСП и может применяться как ее замена без изменения вызовов, при этом может работать с 64-разрядной платформой, а так же имеет расширенную функциональность, например, сохранение результата непосредственно в PDF без использования сторонних утилит. Прекрасно работает на сервере, тонком клиенте и веб-клиенте (проверена работа в браузерах Google Chrome, Mozilla Firefox и Microsoft Internet Explorer).

2400 руб.

12.05.2020    26244    131    99    

83

Внешняя компонента для подключения 1С к телефонии Asterisk

Разработка внешних компонент Телефония, SIP Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Внешняя компонента выполнена по технологии Native API для 1С 8.х, обеспечивает доступ к программным АТС Asterisk (FreePBX, Elastix) через AMI интерфейс. Через него можно управлять многими функциями Asterisk (определение номеров, перевод звонков, набор телефона и т. д.)

2400 руб.

04.05.2018    44976    117    64    

60

Внешняя компонента печати PDF (Native Win 32/64)

Разработка внешних компонент Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Внешняя компонента позволяет печатать PDF файлы непосредственно из 1С, не используя при этом сторонних программ. Прекрасно работает на сервере, тонком клиенте и веб-клиенте. Основана на проекте PDFium из состава проекта Chromium/Chrome

1500 руб.

17.09.2018    35080    104    123    

111

Мастер создания внешних компонент 1С (технология COM) для DELPHI 6/7/8/2005/2006/2007/2008/2010/XE/XE2/XE3

Разработка внешних компонент Платформа 1С v8.3 Платные (руб)

Средство для сверхбыстрой разработки внешних компонент 1С:Предприятия 7.7 и 8 по технологии COM на всех версиях DELPHI, начиная с 6.

2000 руб.

28.03.2013    53999    35    14    

68
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
99. newdigger 10.08.16 16:33 Сейчас в теме
100. ПерваяСистема 175 11.08.16 10:17 Сейчас в теме
(99) newdigger, поставил на виртуалке Windows Server 2008 Еnterprise X64, первый раз запустил обработку - вис, потом запустил от имени админа, запустил - заработало, последующие пуски тоже работали, без прав админа

Поэтому может вам почистить 1c-ный кеш у пользователя /AppData/, первый раз запустить обработку с компонентой под админом, а потом уже как обычно. И ещё не юзать обработки с разными версиями компонент на одном компе / сеансе рдп
103. newdigger 12.08.16 08:49 Сейчас в теме
(100)
Я хочу уточнить: Вы поствили "Windows Server 2008" или "Windows Server 2008 R2"?
104. ПерваяСистема 175 12.08.16 10:04 Сейчас в теме
(103) newdigger, хз, не обратил внимание, но по-моему без R2, а есть разница?
106. newdigger 12.08.16 14:26 Сейчас в теме
(104)
разница есть...По крайней мере 2008 имеет интерфейс схожий с Vista, а 2008 R2 - c Windows 7. Значит в ядрах тоже должны быть отличия.
107. ПерваяСистема 175 12.08.16 18:35 Сейчас в теме
(106) newdigger, ну поставлю я Win2008R2, всё равно будет работать)
Прикрепленные файлы:
109. newdigger 17.08.16 15:43 Сейчас в теме
(107)
Тоже поставил на виртуалке Win2008R2Ent.
Установил 1С 8.3.8.1964.
Создал пустую конфигурацию и обработку, которая при запуске выполняет следующий код:
Попытка
		Если ПодключитьВнешнююКомпоненту("C:\Users\Администратор\AppData\Roaming\1C\NativeDraw262.dll", "КомпонентаРисования", ТипВнешнейКомпоненты.Native) Тогда
			Драйвер = Новый("AddIn.КомпонентаРисования.NativeDraw");
		Иначе
			Предупреждение("Ошибка при загрузке внешней компоненты NativeDraw");
			Возврат Ложь;
		КонецЕсли;

	Исключение
		Сообщить("Ошибка при загрузке внешней компоненты NativeDraw" + Символы.ПС + ОписаниеОшибки());	
		Возврат Ложь;
	КонецПопытки;
Показать


Запустил - работает. Еще раз запустил - работает. Обрадовался. Но не тут-то было - на девятый раз не запустилась. И дальше тоже не запускалась.
Очистка кэша не помогает. Работаю под администратором.

Отошел от компьютера на пол часа. Пришел, запустил заново - опять работает! Но теперь не запустилась на пятый раз.

Странные дела...
124. scrum77@mail.ru 27.03.17 15:35 Сейчас в теме
(107)

не могу подключить компоненту на стороне сервера (в управляемом приложении).
Пробовал на WinServ2008R2Std и WinServ2012R2Std. Сервер предприятия 8.3.8.1784 x64. Версия компоненты - 2.6.2

На WinServ2008R2Std:
В файловом варианте зависает.
В клиент-серверном варианте зависает только на стороне клиента, а на стороне сервера "ПодключитьВнешнююКомпоненту" возвращает "Ложь".

На WinServ2012R2Std:
В файловом варианте подключается без проблем.
В клиент-серверном варианте на стороне клиента подключается, а на стороне сервера "ПодключитьВнешнююКомпоненту" возвращает "Ложь".

Подключение нужно именно на стороне сервера! Подскажите пожалуйста, как решить такую проблему?
101. Steelvan 302 11.08.16 21:02 Сейчас в теме
Если надо запускать под админом, то теряется весь профит.
На то оно и NativeDll, что должно работать без регистрации в системе при первом запуске под правами админа.
Тогда проще как ActiveX сделать, хоть понятно что rersvr32 сделать надо.

Скачал Пример "Хуки, окна, выделение мышью" = висит при старте.
Скачал потом dll, заменил в макетах = висит при старте.

XP, права ограниченные.
102. Steelvan 302 11.08.16 21:41 Сейчас в теме
Каким образом реализованы клики на картинке ?
Перехватываете вообще все клики на форме ?
105. ПерваяСистема 175 12.08.16 10:05 Сейчас в теме
(102) Steelvan, реализовано просто до безобразия, просто определяется координаты картинки относительно главного окна, и при нажатии мышки всё вычисляется и рисуется
108. ПерваяСистема 175 12.08.16 19:42 Сейчас в теме
Обновил все примеры на 2.6.2, + в каждом примере есть версия как на обычных формах, так и на управляемых
110. newdigger 18.08.16 12:33 Сейчас в теме
Проделал тоже самое на Windows Server 2012 R2 Standard - ни разу не зависал. Пробовал раз 20 точно.
111. newdigger 19.08.16 09:46 Сейчас в теме
На Windows 7 Pro SP1 64-bit - тоже зависаний не обнаружено
112. devlabnn 88 24.11.16 10:10 Сейчас в теме
Под Windows XP у меня не взлетело. Зависает на при вызове ПодключитьВнешнююКомпоненту:

Адрес = "C:\Users\kuznecov_as\Downloads\NativeDraw\NativeAPI\bin\Native­Draw.dll";
ПодключитьВнешнююКомпоненту(Адрес, "КомпонентаРисования", ТипВнешнейКомпоненты.Native)

Скачал исходники, перекомпилировал. Создал виртуалку, поставил .NET 3.5, vc_redist. Безрузультатно.

Стоит дальше копать, если ли случаи взлетания под XP?
114. newdigger 25.11.16 09:24 Сейчас в теме
(112) У меня на XP следующая ситуация:
на одной машине компонента запускается ровно с третьего раза, на другой - никак. С чем связано - непонятно. Версии XP на обоих одинаковые.
115. newdigger 25.11.16 11:05 Сейчас в теме
(112)
Я компилировал со следующими настройками проекта:
Набор инструментов платформы: Visual Studio 2015 - Windows XP (v140_xp)
Платформа: Win32
113. ПерваяСистема 175 24.11.16 13:43 Сейчас в теме
Проверил на Windows 2003 Server x64, пример открылся, так что теоретически случай взлёта есть,
PS NET FrameWork не нужен
116. pvlunegov 157 15.02.17 20:36 Сейчас в теме
Автор, повторно скачал вашу обработку танки.
Доработал обработку нажатий на клавиши мыши.
Сделал движение танка в указанное мышью место.
1с 8.3.8.1479
Полет нормальный. Обычные формы.
Позже протестирую поведение в управляемых формах.
Просьба сделать минимальную документацию по dll, хотя бы в Word, приложить бесплатно к вашей публикации.
Если не затруднит, СЭР!
Вижу, сделали небольшой обзорчик по функциям, структуре данных в самой публикации, помогло, спасибо, БОЛЬШОЕ ЧЕЛОВЕЧЕСКОЕ спасибо!
dll работает без косяков, отрабатывает перехват мыши, клавиш.
ОТЛИЧНО!
Автор, гигантское сердечное спасибо за рабочую версию, которую теперь ПОЛНОЦЕННО можно использовать в разработке!

Попробую запилить какую-нибудь минимальную стрелялку в 1с.
Позже выложу, отпишусь вам о результатах!
117. pvlunegov 157 15.02.17 23:02 Сейчас в теме
В примере про танк, удалось привязать к нажатию на левую клавишу мыши взрыв.
Теперь при нажатии на точку на карте работает "Артиллерия" (веселимся!)
Код формы приложил к сообщению в виде текстового файла
Прикрепленные файлы:
Код формы.txt
118. pvlunegov 157 15.02.17 23:05 Сейчас в теме
В планах прямо в обработке запилить препятствия, танки-боты с простейшим интелектом (тупой валенок), повреждения, разрушения и др. - получится игра танки.
Клево то, что вся отрисовка происходит средствами dll, не 1с
Соответственно, производительность высокая,
возможно запилить стрелялку в окне 1с со сложными алгоритмами расчета.
Отрисовка будет происходить отдельно от 1с сторонними средствами.
119. newdigger 16.02.17 09:09 Сейчас в теме
(118) Вы заметили, что потребляется большое количество памяти? Это связано с кэшированием в объекте Картинка в платформе.
122. ПерваяСистема 175 16.02.17 13:48 Сейчас в теме
(119) Да потребляет, когда обновляешь картинку на форме, именно на форме, внутри 1ски, она копиться копиться, а потом когда доходит до предела приходит 1сный уборщик мусора и всё чистит.

120. 1cBokov 7 16.02.17 09:22 Сейчас в теме
Я так понимаю это компонента нужна для презентаций новых продуктов или внедрений в 1С, ну или удобно проводить обучение.
121. pvlunegov 157 16.02.17 09:48 Сейчас в теме
(120)
Данную компоненту можно использовать для графики, анимации прямо в 1с,
Управляемая программно из 1с средствами 1с на русском языке анимация, графика.
Можно сделать даже расчет 3 мерной графики.
Можно сделать вывод тайловой, изометрической графики.

Отлично подойдет для визуализации векторной графики, картинок, несложных анимаций.
Использовать можно в типовых решениях для визуализации например, складских процессов.
Визуализация Размещение грузов и номенклатуры на складе.
Визуализация офисных помещений, сотрудников, отделов, картинок.
Визуализация штатного расписания, взаимодействия отделов, должностей и т.п.
Визуализация бизнес-процессов - прямо таки напрашивается! Без визуализации сложных бизнес-процессов - тратиться большое количество времени на их понимание. Вывод в виде мнемо-схем с картинками и несложной анимацией - упростит понимание в разы!

Много чего можно визуализировать.
Думаю практически во всех типовых конфигурациях можно найти применение!
123. sergey512 35 28.02.17 23:56 Сейчас в теме
Подскажи как правильно откомпилировать dll в VS2015. После компиляции в 1с появляется ошибка "Не найден файл внешней компоненты"
125. bubus 09.04.17 11:30 Сейчас в теме
А обработка столкновений тут есть?)))
Кроме шуток, а кого есть реальные примеры использования компоненты. интересно посмотреть что с ней делали.
126. пользователь 09.04.17 11:40
Сообщение было скрыто модератором.
...
127. albertik88 10 09.06.17 08:20 Сейчас в теме
Добрый день, если скачать первый вариант NativeDraw Исходники (VS2015) за 3 стартмани это будет полностью все или как?
128. albertik88 10 09.06.17 09:09 Сейчас в теме
Добрый день, Борис, если скачать вариант NativeDraw Исходники (VS2015) за 3 стартмани это будет полностью все или как?
129. ПерваяСистема 175 09.06.17 16:17 Сейчас в теме
Там будут просто исходники
130. Yava21Rus 11.10.17 11:14 Сейчас в теме
Борис, добрый день! Вопрос по примеру "Хуки, окна, выделение мышью": УФ в примере по функционалу не соответствует функционалу обычной формы - не подскажете, Возможна ли реализация в УФ выделения мышью на поле картинки? К тому же, почему Окно_Главное() всегда возвращает пустую строку? Это я что-то не правильно делаю, или этот функционал корректно работает только в обычных формах?
131. pvlunegov 157 07.11.17 10:26 Сейчас в теме
Пробовал и так и сяк работать с вашей компонентой.
Все работает, кроме:
1. Функция Окно_ВОтносительныеКоординаты не производит пересчет в локальные координаты окна.

После ее применения координаты нажатия кнопки мыши остаются глобальные, без перевода в локальные координаты конкретного окна.

Из-за этого, использовать данную компоненту по части обработки нажатий мыши по окну (по элементам окна, изображениям и т.п.) - НЕВОЗМОЖНО

К сожалению, не нашел в коде обработки NativeDraw_Ввод
Получения координат локального окна - из-за этого пересчет координат мыши в 1с невозможен.

По факту, вашу обработку использовать не могу, хоть и сильно хочется

ОГРОМНАЯ просьба исправить и отписаться!
133. newdigger 07.11.17 11:19 Сейчас в теме
(131)
У меня работает функция Окно_ВОтносительныеКоординаты. Правда версия компоненты 2.6.1
134. pvlunegov 157 07.11.17 11:33 Сейчас в теме
(133) я специально, чтобы все перепроверить скачал последюю версию всех файлов в данной публикации, запустил, не работает.
В Локальные координаты не преобразовывает.

Может причина в версии Windows? Пробую на работе, версия Windows 8/
Попробую дома, может что изменится - дома Windows 10/
135. newdigger 07.11.17 11:46 Сейчас в теме
(134)
Забыл уточнить, что у меня обычные формы.
132. pvlunegov 157 07.11.17 10:43 Сейчас в теме
Скачал исходники. Файл VerInfo.txt. Version=1.1.0.14
Просьба выложить версию 2.6.2
137. ПерваяСистема 175 17.11.17 12:12 Сейчас в теме
(132) не, это и есть последняя
138. pvlunegov 157 17.11.17 12:47 Сейчас в теме
(137) Борис, подскажите в чем может быть причина того что не пересчитывает в локальные координаты? Может версия Windows (Win 8)? Может версия Net? Какая версия Net должна быть установлена для работы?
136. Sekator 17.11.17 11:53 Сейчас в теме
139. informa1555 2646 26.07.18 11:50 Сейчас в теме
Подскажите пожалуйста, а как вычислить координаты относительно элемента формы? Координаты относительно окна понятно, а допустим у меня на форме картинка (и другие элементы) и я хочу получить координаты в этой картинке при клике мышью, где левый верхний угол будет (0,0), а правый нижний (ширина, высота). Возможно ли такое вообще?
140. strange2007 144 24.09.18 12:21 Сейчас в теме
Последняя версия не подключается. Из примера подключается
141. CagoBHuK 32 01.07.19 01:43 Сейчас в теме
1. Тестировал ли автор работу своей внешней компоненты в web-клиенте?
2. NATIVE/неNATIVE в обычном приложении совсем неважно. Под обычное приложение можно ActiveX использовать и хоть Дум запустить. А у автора на всех скриншотах только обычное приложение.
3. Пробовал ли автор Linux-системы? Удалось ли у него загрузить картинки с диска?
4. 95% перечисленного функционала умеет делать обычный canvas в ПолеHTMLДокумента.

Я вижу, что энтузиазм автора увял где-то к середине разработки.
142. skyboy13 13 15.11.19 17:37 Сейчас в теме
Примитивы не открываются. - Просто ни чего не происходит. Проверял такси и обычные формы.
143. evGenius 22 18.01.20 22:50 Сейчас в теме
В обновленных версиях Windows (проверялось на 7 и 10 x64) компонента не регистрируется и не загружается.
Ругается, что не найдена точка входа DllRegisterServer, требует проверить, что файл является правильным dll или ocx. Есть какие-то варианты? Может каких-то библиотек не хватает? MFC вроде не используется.
145. evGenius 22 23.01.20 11:30 Сейчас в теме
(143)+ Сорри, ступил, она нативная, регистрация не нужна.
144. evGenius 22 18.01.20 23:03 Сейчас в теме
А проблема с переводом координат и поиском главного окна похоже связана с тем, что в УФ другое название класса главного окна 1С, соответственно в исходниках зашито имя как в обычных формах "V8TopLevelFrame", а его нет (((
146. zakiap 11.03.20 16:08 Сейчас в теме
А работает ли компонента в 1С x64 ?
147. evGenius 22 11.03.20 20:50 Сейчас в теме
(146) В этом виде нет. Только если скачать исходники и пересобрать для x64. Тогда работает.
149. AII14789 03.11.22 10:58 Сейчас в теме
Добрый день. При Подключении компоненты получаем ошибку( в прикрепленном файле), кто-нибудь сталкивался? Как бороться?
Прикрепленные файлы:
150. evGenius 22 03.11.22 14:25 Сейчас в теме
(149) Запустите один раз 1С "от имени администратора".
151. AII14789 07.11.22 13:43 Сейчас в теме
152. evGenius 22 07.11.22 17:41 Сейчас в теме
(151) На какой системе запускаете? x32? x64? Проверьте файл по этому пути, может он создается пустым или, может, изначально библиотека битая?
153. AII14789 07.11.22 17:49 Сейчас в теме
(152)
Пробовали на обеих разрядностях 1С , под виндой и 32 и 64, под серверной и обычной.
Может и битая только библиотеку скачивали у разработчика за денежку (SM). - версия 2.6.2
Примеры не качали.
2015 Visual ставили.....результат прежний.....
Может у вас есть рабочий вариант библиотеки?
Задача запустить вот это - https://infostart.ru/1c/articles/1081085/ - с компонентой
Прикрепленные файлы:
154. evGenius 22 07.11.22 21:35 Сейчас в теме
(153) Напишите в ЛС, я ее пересобирал из исходников под x64, если интересно. Но в вашем случае похоже неправильно указан путь, либо обработка некорректно путь собирает. В первом сообщении у вас ругается на некорректный путь, библиотека лежит не там, нет "добавки" имени случайного файла.
155. seregasame 16.01.23 17:23 Сейчас в теме
Добрый день! Классная компонента, спасибо! Подскажите, есть ли теоретическая возможность допилить компоненту, что бы она получая потоковое видео HLS (.m3u8) рисовала его прямо в форме 1С? или как-то покадрово картинками? Через opencv написал внешнюю компоненту которая открывает поток в отдельном окне, но хочется прямо в 1С встроить
Оставьте свое сообщение