VisualsOffset: Double;
VisualsOffset: double;
Свойство VisualsOffset определяет расстояние между визуализаторами разных типов, расположенными на одной линии на слое карты.
Для задания расстояния между визуализаторами разных типов необходимо, чтобы свойство IVZMapChartLayer.PlaceVisualsOneByOne принимало значение True.
Виды визуализаторов на карте:
Для выполнения примера в репозитории предполагается наличие экспресс-отчета с идентификатором «EXPRESS», содержащего карту с круговыми и столбиковыми показателями.
Добавьте ссылки на системные сборки: Express, Metabase, Visualizators.
Sub UserProc;
Var
MB: IMetabase;
Express: IEaxAnalyzer;
Map: IVZMapChart;
Layer: IVZMapChartLayer;
Begin
// Получим репозиторий
MB := MetabaseClass.Active;
// Получим экспресс-отчет
Express := MB.ItemById("EXPRESS").Edit As IEaxAnalyzer;
// Получим карту
Map := Express.MapChart.MapChart;
// Получим слой на карте
Layer := Map.RootLayer.SubLayers.Item(0);
// Визуализаторы на карте будут располагаться на одной линии
If Not Layer.PlaceVisualsOneByOne Then
Layer.PlaceVisualsOneByOne := True;
End If;
// Расстояние между визуализаторами
Layer.VisualsOffset := 10;
// Обновим и сохраним отчет
Express.RefreshAll;
(Express As IMetabaseObject).Save;
End Sub UserProc;
После выполнения примера визуализаторы на карте будут располагаться на одной линии, расстояние между ними будет равно десяти пикселям.
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.
Imports Prognoz.Platform.Interop.Express;
Imports Prognoz.Platform.Interop.Visualizators;
…
Public Shared Sub Main(Params: StartParams);
Var
MB: IMetabase;
Express: IEaxAnalyzer;
Map: IVZMapChart;
Layer: IVZMapChartLayer;
Begin
// Получим репозиторий
MB := Params.Metabase;
// Получим экспресс-отчет
Express := MB.ItemById["Bars"].Edit() As IEaxAnalyzer;
// Получим карту
Map := Express.MapChart.MapChart;
// Получим слой на карте
Layer := Map.RootLayer.SubLayers.Item[0];
// Визуализаторы на карте будут располагаться на одной линии
If Not Layer.PlaceVisualsOneByOne Then
Layer.PlaceVisualsOneByOne := True;
End If;
// Расстояние между визуализаторами
Layer.VisualsOffset := 10;
// Обновим и сохраним отчет
Express.RefreshAll();
(Express As IMetabaseObject).Save();
End Sub;
См. также: