При сдвиге карты производится масса действий, часть из которых не зависит от нашего текста (работают функции и события компонента TScrollbox). В нужный момент windows вызывает функцию отрисовки (это уже наша часть). Изучить логику работы можно по исходным текстам. Основные функции управления картой в mapwina.pas. Исходные тексты входят в инсталляцию
Сергей Виноградов написал: вопросы со скролами решены, есть желание уйти от класса. Величины сдвигов известны. Вопрос возможно ли заменить код
ГИС-ядро ничего не знает про Ваше окно и смещения в нем. Эта реализация остается снаружи. У карты есть только габариты, которые Вы можете запросить - mapGetPictureSize - в пикселах в текущем масштабе отображения. Это диапазон Ваших скроллингов. Смещения MapLeft и MapTop - это позиция скроллингов. Используя смещение и зная габариты окна отображения, Вы посылаете ГИС-ядру команды на отрисовку нужного фрагмента (mapPaint95). Если хотите отказаться от класса, который выполняет все пересчеты, Вам придется их выполнять самостоятельно. Пример можно посмотреть в исходных текстах класса TMapView и его родителей - TMapViewWindow и TMapViewAcces (см. файлы mapviewa.pas, mapwina.pas и mapwinw.pas). Смещения карты в окне Вам придется держать в своих переменных и самостоятельно их пересчитывать при масштабировании карты и сдвиге скроллингов.