ElementVerticalAlignment: ChartLegendElementVerticalAlignment;
ElementVerticalAlignment: Prognoz.Platform.Interop.Chart.ChartLegendElementVerticalAlignment;
Свойство ElementVerticalAlignment определяет тип вертикального выравнивания элементов внутренней легенды.
По умолчанию используется выравнивание по центру (ChartLegendElementHorizontalAlignment.Center).
Для выполнения примера добавьте ссылки на системные сборки Chart, Metabase, Report, Tab. Предполагается наличие регламентного отчета с идентификатором «OBJ_1». Отчет должен содержать два листа: на первом листе располагается диаграмма с внутренней легендой, на втором - с внешней.
Sub UserProc;
Var
mb: IMetabase;
report: IprxReport;
legend: IChartLegend;
externallegend: IChartExternLegend;
chart: Ichart;
Begin
mb := MetabaseClass.Active;
report := Mb.ItemById("OBJ_1").Edit As IPrxReport;
//Обращаемся к внутренней легенде
chart := (report.Sheets.Item(0) As IPrxTable).TabSheet.Objects.Item(0).Extension As Ichart;
legend := chart.Legend;
legend.ElementVerticalAlignment := ChartLegendElementVerticalAlignment.Bottom; //по нижнему краю
(report As IMetabaseObject).Save;
//Обращаемся к внешней легенде
externallegend := (report.Sheets.Item(1) As IPrxTable).TabSheet.Objects.Item(1).Extension As IChartExternLegend;
externallegend.ElementVerticalAlignment := ChartLegendElementVerticalAlignment.Top; //по верхнему краю
(report As IMetabaseObject).Save;
End Sub UserProc;
После выполнения примера будет изменено вертикальное выравнивание элементов внутри легенды: на первом листе «По нижнему краю», на втором листе «По верхнему краю».
Для выполнения примера предполагается наличие регламентного отчета с идентификатором «OBJ_1». Отчет должен содержать два листа: на первом листе располагается диаграмма с внутренней легендой, на втором - с внешней.
Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.Chart;
Imports Prognoz.Platform.Interop.Report;
Imports Prognoz.Platform.Interop.Tab;
...
[STAThread]
Public Shared Sub Main(Params: StartParams);
Var
mb: IMetabase;
report: IprxReport;
legend: IChartLegend;
externallegend: IChartExternLegend;
chart: Ichart;
Begin
mb := Params.Metabase;
report := Mb.ItemById["OBJ_1"].Edit() As IPrxReport;
//Обращаемся к внутренней легенде
chart := (report.Sheets.Item[0] As IPrxTable).TabSheet.Objects.Item[0].Extension As Ichart;
legend := chart.Legend;
legend.ElementVerticalAlignment := Prognoz.Platform.Interop.Chart.ChartLegendElementVerticalAlignment.clevaBottom; //по нижнему краю
(report As IMetabaseObject).Save();
//Обращаемся к внешней легенде
externallegend := (report.Sheets.Item[1] As IPrxTable).TabSheet.Objects.Item[1].Extension As IChartExternLegend;
externallegend.ElementVerticalAlignment := Prognoz.Platform.Interop.Chart.ChartLegendElementVerticalAlignment.clevaTop; //по верхнему краю
(report As IMetabaseObject).Save();
End Sub;
После выполнения примера будет изменено вертикальное выравнивание элементов внутри легенды: на первом листе «По нижнему краю», на втором листе «По верхнему краю».
См. также: