BorderWidth: Double;
BorderWidth: double;
Свойство BorderWidth определяет толщину границы текстовой метки.
Свойство BorderWidth актуально, если у свойства IPPSpeedometerLabel.EnableBorder установлено значение True.
Для выполнения примера предполагается наличие в репозитории аналитической панели с идентификатором «ADHOC». Аналитическая панель должна содержать спидометр.
Добавьте ссылки на системные сборки: Adhoc, Drawing, Express, Metabase и Speedometer.
Sub UserProc;
Var
Speedometer: IPPSpeedometer;
MB: IMetabase;
AdhocReport: IAdhocReport;
EaxSpeedometer: IEaxSpeedometer;
Enalyzer: IEaxAnalyzer;
DsObjs: IAdhocDataSourceObjects;
Label: IPPSpeedometerLabel;
SolidBrush: IGxSolidBrush;
Color: IGxColor;
Font: IGxFont;
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;
// Получим центральную текстовую метку спидометра
Label := Speedometer.CenterLabel;
// Настроим размер текстовой метки вручную
Label.AutoSize := False;
// Настроим ширину текстовой метки
Label.Width := 50;
// Настроим высоту текстовой метки
Label.Height := 20;
// Настроим заливку фона текстовой метки
Label.EnableBrush := True;
Color := New GxColor.CreateRGB(255,0,0);
SolidBrush := New GxSolidBrush.Create(Color);
Label.Background := SolidBrush;
// Настроим кисть для отрисовки границы текстовой метки
Label.EnableBorder := True;
Color := New GxColor.CreateRGB(0,0,0);
SolidBrush := New GxSolidBrush.Create(Color);
Label.BorderBrush := SolidBrush;
// Настроим стиль границы текстовой метки
Label.BorderStyle := GxDashStyle.Dash;
// Настроим ширину границы текстовой метки
Label.BorderWidth := 3;
// Настроим отступ текстовой метки
Label.Offset := 0.1;
// Настроим размер шрифта текста, отображаемого в текстовой метке
Font := New GxFont.Create("Arial",12);
Label.Font := Font;
// Настроим цвет текста
Color := New GxColor.CreateRGB(0,255,255);
Label.FontColor := Color;
// Настроим выравнивание текста
Label.TextAlign := PPSpeedometerHorizontalAlignment.Left;
// Получим текст, отображаемый в текстовой метке
Debug.WriteLine("Текст метки: " + Label.Text);
(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;
Label: IPPSpeedometerLabel;
SolidBrush: GxSolidBrushClass;
Color: GxColorClass;
BrushColor: GxColor;
Font: GxFont;
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;
// Получим центральную текстовую метку спидометра
Label := Speedometer.CenterLabel;
// Настроим размер текстовой метки вручную
Label.AutoSize := False;
// Настроим ширину текстовой метки
Label.Width := 50;
// Настроим высоту текстовой метки
Label.Height := 20;
// Настроим заливку фона текстовой метки
Label.EnableBrush := True;
Color := New GxColorClassClass();
BrushColor := Color.FromKnownColor(GxKnownColor.clRed);
SolidBrush := New GxSolidBrushClass();
SolidBrush.Color := BrushColor;
Label.Background := SolidBrush;
// Настроим кисть для отрисовки границы текстовой метки
Label.EnableBorder := True;
BrushColor := Color.FromKnownColor(GxKnownColor.clBlack);
SolidBrush := New GxSolidBrushClass();
SolidBrush.Color := BrushColor;
Label.BorderBrush := SolidBrush;
// Настроим стиль границы текстовой метки
Label.BorderStyle := GxDashStyle.gdsDash;
// Настроим ширину границы текстовой метки
Label.BorderWidth := 3;
// Настроим отступ текстовой метки
Label.Offset := 10;
// Настроим размер шрифта текста, отображаемого в текстовой метке
Font := New GxFontClass();
Font.Create("Arial",12,GxFontStyle.gfsBold,GxUnit.guPoint);
Label.Font := Font;
// Настроим цвет текста
BrushColor := Color.FromKnownColor(GxKnownColor.clBlue);
Label.FontColor := BrushColor;
// Настроим выравнивание текста
Label.TextAlign := PPSpeedometerHorizontalAlignment.shaLeft;
// Получим текст, отображаемый в текстовой метке
System.Diagnostics.Debug.WriteLine("Текст метки: " + Label.Text);
(Enalyzer As IMetabaseObject).Save();
End Sub;
См. также: