Background: IGxBrush;
Background: Prognoz.Platform.Interop.Drawing.IGxBrush;
Свойство Background определяет кисть для отрисовки границы.
Для выполнения примера предполагается наличие в репозитории аналитической панели с идентификатором «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.
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;
См. также:
Связанные записи
Требование