Selected: Boolean;
Selected: boolean;
Свойство Selected определяет, будет ли отмечена область карты.
Доступные значения:
True. Область карты будет отмечена;
False. Значение по умолчанию. Область карты не будет отмечена.
Для выполнения примера предполагается наличие в репозитории экспресс-отчета с идентификатором EXPRESS. В экспресс-отчете должна содержаться карта со слоем «Regions».
Добавьте ссылки на системные сборки: Drawing, Express, Metabase и Visualizators.
Sub UserProc;
Var
Metabase: IMetabase;
EaxAnalyzer: IEaxAnalyzer;
EMap: IVZMapChart;
MapShape: IVZMapChartShape;
Layer: IVZMapChartLayer;
ShapeId: String;
Color: IGxColor;
Begin
// Получим репозиторий
Metabase := MetabaseClass.Active;
// Получим экспресс-отчёт
EaxAnalyzer := Metabase.ItemById("EXPRESS").Edit As IEaxAnalyzer;
// Получим карту экспресс-отчета в качестве визуализатора
EMap := EaxAnalyzer.MapChart.MapChart;
// Получим слой из карты
Layer := EMap.RootLayer.LayerById("Regions");
//Выберем область
ShapeId := Layer.Shapes.Item(20).ShapeId;
MapShape := Layer.ShapeById(ShapeId);
// Отметим область на карте
MapShape.Selected := True;
// Выделим область на карте, изменив цвет границы
Color := New GxColor.CreateRGB(85, 157, 170);
MapShape.Border := New GxPen.CreateSolid(Color, 4);
// Зададим
фон области слоя карты без заливки
MapShape.IsStrokedShape := True;
// Сохраним экспресс-отчет
(EaxAnalyzer As IMetabaseObject).Save;
End Sub UserProc;
Imports Prognoz.Platform.Interop.Drawing;
Imports Prognoz.Platform.Interop.Express;
Imports Prognoz.Platform.Interop.Visualizators;
…
Public Shared Sub Main(Params: StartParams);
Var
Metabase: IMetabase;
EaxAnalyzer: IEaxAnalyzer;
EMap: IVZMapChart;
MapShape: IVZMapChartShape;
Layer: IVZMapChartLayer;
ShapeId: String;
Color: GxColor;
Pen: GxPen;
Begin
// Получим репозиторий
Metabase := Params.Metabase;
// Получим экспресс-отчёт
EaxAnalyzer := Metabase.ItemById["EXPRESS"].Edit() As IEaxAnalyzer;
// Получим карту экспресс-отчета в качестве визуализатора
EMap := EaxAnalyzer.MapChart.MapChart;
// Получим слой из карты
Layer := EMap.RootLayer.LayerById("Regions");
// Выберем область
ShapeId := Layer.Shapes.Item[20].ShapeId;
MapShape := Layer.ShapeById(ShapeId);
// Отметим область на карте
MapShape.Selected := True;
// Выделим область на карте, изменив цвет границы
Color := New GxColorClass_2.Create();
Color.CreateRGB(85, 157, 170);
Pen := New GxPenClass.Create();
Pen.CreateSolid(Color, 4);
MapShape.Border := Pen;
// Зададим фон
области слоя карты без заливки
MapShape.IsStrokedShape := True;
// Сохраним экспресс-отчет
(EaxAnalyzer As IMetabaseObject).Save();
End Sub
В результате выполнения примера на карте будет отмечена область с заданным идентификатором, цвет границ области будет изменён, фон области слоя карты отобразится без заливки.
См. также: