Имя: Пароль:
1C
 
отследить клик на картинке
0 manyak
 
27.01.09
15:41
есть картинка - можно ли отследить событие двойной клик на картинке и получить координаты пикселя по которому кликнули? картинка - растровая карта населенного пункта.
1 Сергей-ХХХ
 
27.01.09
15:42
Дык есть какая-то шняга типа географических схем.
2 Fragster
 
гуру
27.01.09
15:47
картинку - в качестве инпута поляHTMLдокумента - и вперед...
3 manyak
 
27.01.09
15:54
(2) можно поподробней пожалуйста?
4 Fragster
 
гуру
27.01.09
16:08
делаешь поле хтмлдокументта, примерно такого содержания:
<form>
<input type="image" src="путь/к/картинке" name="название">
</form>

при этом по клику на картинку название.x и название.y будут заполнятся, вроде как...
5 manyak
 
27.01.09
16:33
спасиб, попробую
6 Rebelx
 
27.01.09
16:35
7 manyak
 
27.01.09
17:14
скока стоит комер. версия?
8 manyak
 
30.01.09
09:30
сделал хтмл документ - картинка отображается - как получить координаты?
9 Fragster
 
гуру
30.01.09
09:42
(8) инпутом?
10 manyak
 
30.01.09
09:51
я в хтмл не спец - просвяти плиз? сдела как в (4) - осталось до координат добраться как нить
11 Fragster
 
гуру
30.01.09
09:58
(10) подожди паручасиков, сделаю, самому интересно попробовать...
12 H A D G E H O G s
 
30.01.09
10:00
Млин, если заголовок формы известен и уникален - берем Нетленку 2.2 и все работает..
13 manyak
 
30.01.09
10:01
спасибо заранее, пожду :) если смогу определять координаты по клику (одинарному или двойному) то сделаю для каждого дома область определения координат и потом выводить инфу по дому.
14 manyak
 
30.01.09
10:01
(12) можно ссылку на эту нетленку?
15 manyak
 
30.01.09
10:04
нашел счас посмотрю, а (12) автор оказывается нетленки :)
16 manyak
 
30.01.09
10:13
(12) ОБЪЕКТ “Addin.Events”
НачатьОтловСобытий|StartCatchMessages
“Результат” объекта, являющееся структурой, содержит следующие ключи и значения:
Для события класса “Мышь” ключ “X” (латинский!) содержит X - координату курсора мыша при нажатии, соответственно ключ “Y” (латинский!) содержит Y - координату курсора.

т.е. даст x y указателя мыши в окне 1с - а мне нужны x y пикселя картинки по которому кликнул - твоя нетленка может это сделать?
17 H A D G E H O G s
 
30.01.09
10:18
(16) Да, счаст код приведу, уже делал как-то
18 Keper
 
30.01.09
10:25
А нужно именно по точным координатам проверять? Не лучше ли сделать htm с отмеченными ключевыми пунктами, и уж по ним проверять клики в onclick событии?
19 manyak
 
30.01.09
10:33
т.е. если можно на картинке (карта) каждый дом сделать ключевым пунктом - и потом по клику получать его id или другое - идентифицировать дом в базе - то подойдет, сразу вопрос как разметить картинку по ключевым пунктам?
20 H A D G E H O G s
 
30.01.09
10:34
Перем Окна;
Перем События;


Процедура ВнешнееСобытие(Источник, Событие, Данные)
   Если Лев(Источник,6)="EVENTS" И Прав(Источник,38)=События.Идентификатор Тогда
       Если Событие="МЫШЬ" Тогда
           Если Данные="НАЖАТА_ЛЕВАЯ_КНОПКА" Тогда
               КоординатаX=События.Результат.X;
               КоординатаY=События.Результат.Y;
               ДескрипторОкна=Окна.ДескрипторДочернегоОкна(Окна.ДескрипторГлавногоОкна,ЭтаФорма.Заголовок);
               Если ДескрипторОкна<>0 Тогда
                   РазмерыОкна=Окна.ПолучитьРазмерОкна(ДескрипторОкна);
                   КликX=КоординатаX-РазмерыОкна.Лево-ЭлементыФормы.ПолеВвода1.Лево;
                   КликY=КоординатаY-РазмерыОкна.Верх-ЭлементыФормы.ПолеВвода1.Верх-23;
                   Сообщить(Строка(КликX)+":"+Строка(КликY));
               КонецЕсли;
               КонецЕсли;
           КонецЕсли;
       КонецЕсли;
КонецПроцедуры
ЗагрузитьВнешнююКомпоненту("v8add.dll");
Окна=Новый ("addin.Windows");
События=Новый ("addin.Events");
Фильтр=Новый Структура;
Фильтр.Вставить("Мышь",Истина);
События.ФильтрСобытий=Фильтр;
События.НачатьОтловСобытий(1000);
21 manyak
 
30.01.09
10:41
(20) у меня есть на форме документа - поле картики (в нем моя карта). куда твой код пихать?
22 Keper
 
30.01.09
10:56
(19) это уже на html ваять надо.
23 manyak
 
30.01.09
10:58
(2) агрузил твою демоконфу, зарегил dll через regsvr32, положил dll  в папкус базой - при загрузке ошибка:

{МодульПриложения(5)}: Ошибка при вызове метода контекста (ЗагрузитьВнешнююКомпоненту): Ошибка при загрузке внешней компоненты
   ЗагрузитьВнешнююКомпоненту("V8ADD.dll");
по причине:
Ошибка при загрузке внешней компоненты


почему не грузит компоненту?  в доках нет инфы по подключению компоненты.
24 manyak
 
30.01.09
11:01
платформа (8.1.12.101)
25 H A D G E H O G s
 
30.01.09
11:02
(23) Компоненту в C:\ProgramFiles\1Cv8\bin