Background: IGxBrush;
Background: Prognoz.Platform.Interop.Drawing.IGxBrush;
Свойство Background определяет кисть для заливки фона области слоя карты.
Заливка фона отображается, если не используются метрики.
Для выполнения примера предполагается наличие в репозитории экспресс-отчёта с идентификатором EXPRESS. В отчёте содержится карта с областями и идентификатором слоя «Regions».
Добавьте ссылки на системные сборки: Metabase, Express, Drawing, 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(47, 47, 234);
MapShape.Background := New GxSolidBrush.Create(Color);
// Сохраним экспресс-отчет
(EaxAnalyzer As IMetabaseObject).Save;
End Sub UserProc;
Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.Express;
Imports Prognoz.Platform.Interop.Drawing;
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;
Brush: IGxSolidBrush;
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 GxColor();
Color.CreateRGB(47, 47, 234);
Brush := New GxSolidBrush();
Brush.Color := Color As GxColor;
MapShape.Background := Brush;
// Сохраним экспресс-отчет
(EaxAnalyzer As IMetabaseObject).Save();
End Sub;
После выполнения примера на карте будет отмечена область с заданным идентификатором, фон области будет изменён на синий цвет.
См. также: