TMapWindow.OnMapPaint

 

TMapWindow

Top

 

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

 

TMapPaintEvent = procedure (Sender :  TObject;  aCanvas :  TCanvas; MapPaintRect : TRect) of object;

 

property OnMapPaint: TMapPaintEvent;

 

Описание:

Событие генерируется после перерисовки участка карты.

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

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

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

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

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

aCanvas     - указатель на канву компонента Sender. Внимание! Объект aCanvas в момент вызова события имеет нестандартное начало координат: оно смещено относительно начала окна на –MapLeft, -MapTop. Например, для того чтобы нарисовать линию с оконными координатами 0,0; 10,20 необходимо реально послать координаты MapLeft, MapTop; MapLeft + 10, MapTop + 20.  Другой пример: необходимо нарисовать квадрат с координатами на местности X1, Y1, X2, Y2 в метрах. Для пересчета координат на форме разместим компонент Point:TcompMapPoint.

 

Point.PlaceInp :=  PP_PLANE;

Point.PlaceOut :=  PP_PICTURE;

Point.SetPoint(X1, Y1);

Point.GetPoint(Rect1.Left,  Rect1.Top);

Point.SetPoint(X2, Y2);

Point.GetPoint(Rect1.Right, Rect1.Bottom);

aCanvas.FrameRect(Rect1);