![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Доброго времени суток.
Заранее прошу, не судите строго. Десять лет занимаюсь базами про графику уже забыл)). Итак, имеется Delphi 7. Написана программа работы с базой данных по жилищному фонду. Заказчик хочет чтобы на экране был реализован не только поиск по адресу, но и по карте. Т. е. необходимо загружать картинку со схематичной картой района на ней должны быть нарисованы дома (полигоны). При наведении на них курсором мыши, они должны как-то меняться (изменять цвет например), а при клике мыши должны выводиться характеристики дома. Очень желательно чтобы карта могла менять размер и прокручиваться. Все это должно быть реализовано бесплатными средствами. Попробывал применить Sweet Driving Engine, но хелпа к нему нет, а разбираться времени нет (( И, собственно говоря, идей нет Не могли бы Вы мне что-нибудь порекомендовать, желательно с небольшим примером. Гугл и яндекс ничего бесплатного не предложили. Заранее благодарен за ответ. |
|
#2
|
||||
|
||||
|
Graphics32. Примеров с ним идет куча.
|
|
#3
|
||||
|
||||
|
Используешь регионы при рисовании интерактивной карты (создаешь список регионов - дома). При нажатии отслеживаешь координаты (X;Y) мыши, после пробегаешься по списку регионов в поисках совпадений...
|
|
#4
|
||||
|
||||
|
Способ раз (простой):
Каждый дом делаем как TImage с картинкой дома, все события там есть (onMouseMove, onMouseDown, onMouseUp). Способ два (сложнее): На форме через GDI+ (стандартными функциями рисования винды) рисуем дома; сохраняем их координаты в массиве. При движении/клике мыши на форме проходим по массиву координат, для каждой проверяем принадлежность координат мыши дому. Делаем нужные действия. Я бы делал первым способом. Можно без проблем хранить дома разного внешнего вида и просто использовать "заливку" нужным цветом при движении мыши над домом. |