Страница 1 из 1

Посоветуйте элемент управления для прокрутки изображения на форме

Добавлено: 13 июл 2008, 11:47
EducatedFool
Приветствую всех!

Суть задачи:
Надо отобразить на форме карту города, а поверх этой карты накладывать схему сети связи (рисовать линии разной толщины и квадратики).
Все необходимые данные (координаты) хранятся и расчитываются средствами VBA Excel.

Проблема: нужен скроллинг карты (она немаленькая, и на форму вся сразу ну никак не поместится). Как минимум - линейками прокрутки, как максимум - методом Drag&Drop плюс масштабирование колёсиком мыши.

Причём после щелчка мышью на карте нужно получать координаты относительно карты, а не формы. (ну это уже мелочи, это уже в любом случае можно вычислить)

Никак не могу найти подходящий элемент управления для отображения.

В стандартный контейнер типа Label или Image картинку засунуть-то можно, но как двигать картинку относительно контейнера - не понимаю. (нет там свойств вроде Picture.Top, а множество значений свойства Picture.Position ограничено константами)

В CorelDRAW всё подобное я делал без проблем (средствами VBA), там и масштабирование, и всё остальное, что только может понадобиться. Но вставлять на форму OLE-контейнер с файлом Corel как-то не хочется (цеплять к проекту 10-метровые библиотеки, или требовать от юзеров установки Corel-a - не лучшее решение), да и Excel начнёт тормозить...


Может, кто встречал такой контейнер для рисунков?
(необходимо, чтоб этот элемент управления выдавал координаты по событию Click - типа ByVal X As Single, ByVal Y As Single, и, главное, позволял двигать изображение внутри рамки)


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

Re: Посоветуйте элемент управления для прокрутки изображения на форме

Добавлено: 07 авг 2008, 10:53
Vikar
Поместить на форму компонент Image, в него рисунок. Меняя значения Top и Left у компонента Image можно двигать его по форме.

Re: Посоветуйте элемент управления для прокрутки изображения на форме

Добавлено: 11 авг 2008, 02:24
Aent
Если не жалко 100$ ;) можно воспользоваться
Image Viewer CP Pro ActiveX OCX SDK
Support keyboard or mouse wheel scrolling image