IPPSpeedometerBorder.Background

Синтаксис Fore

Background: IGxBrush;

Синтаксис Fore.NET

Background: Prognoz.Platform.Interop.Drawing.IGxBrush;

Описание

Свойство Background определяет кисть для отрисовки границы.

Пример Fore

Для выполнения примера предполагается наличие в репозитории аналитической панели с идентификатором «ADHOC». Аналитическая панель должна содержать спидометр.

Добавьте ссылки на системные сборки: Adhoc, Drawing, Express, Metabase и Speedometer.

Sub UserProc;
Var
    Speedometer: IPPSpeedometer;
    MB: IMetabase;
    AdhocReport: IAdhocReport;
    EaxSpeedometer: IEaxSpeedometer;
    Enalyzer: IEaxAnalyzer;
    DsObjs: IAdhocDataSourceObjects;
    Borders: IPPSpeedometerBorders;
    Border: IPPSpeedometerBorder;
    SolidBrush: IGxSolidBrush;
    Color: IGxColor;
Begin
    MB := MetabaseClass.Active;
    // Получим аналитическую панель
    AdhocReport := MB.ItemById("ADHOC").Edit As IAdhocReport;
    // Получим источники данных аналитической панели
    DsObjs := AdhocReport.DataSourceObjects;
    // Получим спидометр
    Enalyzer := DsObjs.Item(0).GetSourceObject As IEaxAnalyzer;
    EaxSpeedometer := Enalyzer.Speedometer;
    // Получим параметры спидометра
    Speedometer := EaxSpeedometer.Speedometer;
    Speedometer.EnableBorder := True;
    // Получим границу спидометра
    Borders := Speedometer.Borders;
    Border := Borders.Item(0);  
    // Настроим цвет границы
    Color := New GxColor.CreateRGB(255,0,0);
    SolidBrush := New GxSolidBrush.Create(Color);
    Border.Background := SolidBrush;
    // Настроим радиус скругления
    Border.BorderRadius.Bottom := 90;
    Border.BorderRadius.Top := 90;
    Border.BorderRadius.Right := 90;
    Border.BorderRadius.Left := 90;
    // Настроим толщину всех границ
    Border.Width := 10;
    // Настроим толщину границ в отдельности
    Border.Bottom := 15;
    Border.Top := 15;
    Border.Right := 20;
    Border.Left := 20;
    (Enalyzer As IMetabaseObject).Save;
End Sub UserProc;

В результате выполнения примера будут настроены цвет, толщина и радиус скругления границы.

Пример Fore.NET

Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.

Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.AdHoc;
Imports Prognoz.Platform.Interop.Express;
Imports Prognoz.Platform.Interop.Speedometer;
Imports Prognoz.Platform.Interop.Drawing;

Public Shared Sub Main(Params: StartParams);
Var
    Speedometer: IPPSpeedometer;
    MB: IMetabase;
    AdhocReport: IAdhocReport;
    EaxSpeedometer: IEaxSpeedometer;
    Enalyzer: IEaxAnalyzer;
    DsObjs: IAdhocDataSourceObjects;
    Borders: IPPSpeedometerBorders;
    Border: IPPSpeedometerBorder;
    SolidBrush: GxSolidBrushClass;
    Color: GxColorClass;
    BrushColor: GxColor;
Begin
    MB := Params.Metabase;
    // Получим аналитическую панель
    AdhocReport := MB.ItemById["ADHOC"].Edit() As IAdhocReport;
    // Получим источники данных аналитической панели
    DsObjs := AdhocReport.DataSourceObjects;
    // Получим спидометр
    Enalyzer := DsObjs.Item[0].GetSourceObject() As IEaxAnalyzer;
    EaxSpeedometer := Enalyzer.Speedometer;
    // Получим параметры спидометра
    Speedometer := EaxSpeedometer.Speedometer;
    // Получим границу спидометра
    Borders := Speedometer.Borders;
    Border := Borders.Item[0];  
    // Настроим цвет границы
    Color := New GxColorClassClass();
    BrushColor := Color.FromKnownColor(GxKnownColor.clRed);
    SolidBrush := New GxSolidBrushClass();
    SolidBrush.Color := BrushColor;
    Border.Background := SolidBrush;
    // Настроим радиус скругления
    Border.BorderRadius.Bottom := 90;
    Border.BorderRadius.Top := 90;
    Border.BorderRadius.Right := 90;
    Border.BorderRadius.Left := 90;
    // Настроим толщину всех границ
    Border.Width := 10;
    // Настроим толщину границ в отдельности
    Border.Bottom := 15;
    Border.Top := 15;
    Border.Right := 20;
    Border.Left := 20;
    (Enalyzer As IMetabaseObject).Save();
End Sub;

См. также:

IPPSpeedometerBorder

Связанные записи

Требование