TMapWindow.OnMapPaintTMapWindow |
Вызывается при вызове методов 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);
|