TMapView.OnMapPaintObject

 

TMapView

Top

 

Вызывается при вызове методов Paint, Print, BitMap.

 

 TMapPaintEventObject = procedure (Sender : TObject; aCanvas : TCanvas;

                           aMapPaintRect : TRect; aLeftPosition, aTopPosition : integer;

                           aMapPaintEventType : TMapPaintEventType) of object;

 

 

TMapPaintEventType =

              ( PaintNone,              // идет общий процесс

PaintInWindow,      // идет прорисовка в окно экрана (вызывается из                      

                                TMapViewWindow.Paint)

                PaintInPrinter,       // идет печать на принтер (вызывается из

                                                 TMapViewWindow.Print)

                PaintInBitMap        // идет сохранение изображения в  BitMap

                                               (вызывается из TMapViewWindow.BitMap)

               );

 

OnMapPaintObject : TmapPaintEventObject;

Описание:

Событие генерируется после перерисовки участка карты. Событие полностью аналогично событию OnMapPaint, за исключением начала координат канвы.

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

Канва компонента TmapView, TMapWindow доступна только в обработчике этого события.

Параметры события:

Sender      - объект типа TMapView, TMapWindow.

MapPaintRect  - содержит координаты области прорисовки в пикселях в системе координат карты (отображаемая, печатуемая область карты). Имеет единицы измерения того устройства, для которого выполняется прорисовка карты.

aCanvas     - указатель на канву компонента Sender. Внимание! Объект aCanvas в момент вызова события имеет нестандартное начало координат: оно смещено относительно начала окна на aLeftPosition, aTopPosition. Например, для того чтобы нарисовать линию с оконными координатами aLeftPosition, aTopPosition; aLeftPosition + 10, aTopPosition + 20 необходимо реально послать координаты 0, 0; 10, 20.

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