Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.02.2010, 09:54   #1
Bayazet
Форумчанин
 
Регистрация: 08.12.2008
Сообщений: 156
По умолчанию Эмуляция щелчка по окну

здравствуйте. возникла такая ситуация:
необходимо поиметь информайцию след.рода. есть карта, на ней среди прочих слоев есть слой с гидрантами. карта старая и ее исхоники - темный лес. необходимо достать координаты гидрантов
когда кликаешь мышкой по карте, она ищет то, на что ты кликнул и выводит сообщение с ID элемента, по которому кликнул (в случае гидранта она пишет "Это гидрант"). при перемещинии курсора в левом нижнем углу отображаются его текущие координаты

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

помогите реализовать, хотя бы отдельными советами!
Bayazet вне форума Ответить с цитированием
Старый 04.02.2010, 09:56   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
было принято решение программно кликать по каждой точке карты
У-у-у плохая идея...
Обычно координаты обьектов записывают в базу данных и не парятся потом кликаньями.
Карта в каком виде?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.02.2010, 10:00   #3
Bayazet
Форумчанин
 
Регистрация: 08.12.2008
Сообщений: 156
По умолчанию

карта, написанная в бородатом 1992 году. несколько слоев, нерастягиваемая на весь экран формочка. дома, дороги, номера домов и названия улиц. еще есть пожарные гидранты
Bayazet вне форума Ответить с цитированием
Старый 04.02.2010, 10:03   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

мдя... Бородато...
Так всетки что из себя карта представляет?
Это фотка, модель, компоненты, есче что-то?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.02.2010, 10:10   #5
Bayazet
Форумчанин
 
Регистрация: 08.12.2008
Сообщений: 156
По умолчанию

ааа в этом смысле, извиняюсь не догнал
карта векторная. слои представляют собой совокупность координат, по которым карта строит объекты. линии, полигоны, тексты и точки (Point)
кстати, с 1992 я переборщил, ибо писалась по вин95.
но по завещаниям руководства, это был вообще один из первых опытов разработки приложений для винды в воронеже
Bayazet вне форума Ответить с цитированием
Старый 04.02.2010, 10:14   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Хм... Вот так не видя самой карты трудно что-то сказать кроме того чтоб потратить денек, посидеть и понабивать базу данных обьектов вручную.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.02.2010, 10:17   #7
Bayazet
Форумчанин
 
Регистрация: 08.12.2008
Сообщений: 156
По умолчанию

мы перепробывали много чего, и курили исходники и пытались выковырнуть метод загрузки из программы, даже пытались разобрать бинарный файл с этим слоем, но все тщетно

все-таки хочется попробывать программно пощелкать по всем точкам карты и посмотреть, что получится
Bayazet вне форума Ответить с цитированием
Старый 04.02.2010, 10:38   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну... попробуй...
Код:
PostMessage(хендл окна с картой,WM_LBUTTONDOWN,MK_LBUTTON,MakeWord(x,y));
PostMessage(хендл окна с картой,WM_LBUTTONUP,MK_LBUTTON,MakeWord(x,y));
Ну и координаты меняй, но помоему это... Мазохизм.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.02.2010, 10:57   #9
Bayazet
Форумчанин
 
Регистрация: 08.12.2008
Сообщений: 156
По умолчанию

а MakeWord - в глобальных координатах экрана или в локальных координатах окна?
Bayazet вне форума Ответить с цитированием
Старый 04.02.2010, 11:08   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Локальных. т.е. координаты в контейнере где карта
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как обратиться к текстовому окну caveman Общие вопросы Delphi 0 27.09.2009 14:35
Вопрос по активному окну san72 Общие вопросы Delphi 11 07.03.2009 12:05
от консоли к окну ёжик Общие вопросы C/C++ 3 06.04.2008 17:51
Возможна ли обработка двойного щелчка мышью на кнопке (TButton)? Brother Win Api 3 04.12.2007 08:32
Сообщение другому окну Бонарт Win Api 13 15.08.2007 20:23