SetBackground(state: VisualizatorControlState; Value: IGxBrush);
SetBackground(state: Prognoz.Platform.Interop.Visualizators.VisualizatorControlState; Value: Prognoz.Platform.Interop.Drawing.IGxBrush);
state. Состояние элемента управления;
Value. Кисть фона элемента управления.
Метод SetBackground устанавливает кисть, определяющую фон элемента управления для указанного состояния.
Для выполнения примера предполагается наличие в репозитории экспресс-отчета с идентификатором «EXP». Модуль, в котором размещается пример, должен иметь ссылки на системные сборки Express, Metabase, Drawing и Visualizators. Указанная процедура должна вызываться из точки входа Main.
До выполнения примера временная шкала пузырькового дерева выглядит так, как показано на странице описания интерфейса IVZBubbleTree. Установим новые значения фона и границ для данной шкалы, получим тип кисти заливки фона и ширину линии границ:
Sub UserProc;
Var
Metabase: IMetabase; // Метабаза
EaxAnalyzer: IEaxAnalyzer; // Экспресс-отчёт
BubbleTree: IVZBubbleTree; // Пузырьковое дерево
Timeline: IVZTimeLine; // Временная
шкала
Style: IVZControlStyle; // Стиль
Begin
// Получим объект метабазы
Metabase := MetabaseClass.Active;
// Получим объект экспресс-отчёта
EaxAnalyzer := Metabase.ItemById("EXP").Edit As IEaxAnalyzer;
// Получим пузырьковое дерево
BubbleTree := EaxAnalyzer.BubbleTree.BubbleTree;
// Получим временную
шкалу
Timeline := BubbleTree.TimeLine;
// Получим стиль временной
шкалы
Style := Timeline.Style;
// Установим новый фон
Style.SetBackground(VisualizatorControlState.ControlStateReleased,
New GxSolidBrush.Create(New GxColor.CreateRGB(127, 199, 255)));
// Установим новый цвет границы
Style.SetBorderPen(VisualizatorControlState.ControlStateReleased,
New GxPen.CreateSolid(New GxColor.CreateRGB(255, 0, 0), 3));
// Выведем тип кисти заливки фона
Select Case Style.GetBackground(VisualizatorControlState.ControlStateReleased).BrushType
Case GxBrushType.SolidColor: Debug.WriteLine("Тип кисти заливки фона - SolidColor");
Case GxBrushType.HatchFill: Debug.WriteLine("Тип кисти заливки фона - HatchFill");
Case GxBrushType.TextureFill: Debug.WriteLine("Тип кисти заливки фона - TextureFill");
Case GxBrushType.PathGradient: Debug.WriteLine("Тип кисти заливки фона - PathGradient");
Case GxBrushType.LinearGradient: Debug.WriteLine("Тип кисти заливки фона - LinearGradient");
End Select;
// Выведем ширину линии границы
Debug.WriteLine("Ширина линии границы: " +
Style.GetBorderPen(VisualizatorControlState.ControlStateReleased).Width.ToString);
// Сохраним экспресс-отчет
(EaxAnalyzer As IMetabaseObject).Save;
End Sub UserProc;
В результате выполнения примера был изменен цвет фона и границы временной шкалы пузырькового дерева:
Также в консоль среды разработки будет выведен тип кисти заливки фона и ширина линии границ:
Тип кисти заливки фона - SolidColor
Ширина линии границы: 3
Для выполнения примера предполагается наличие в репозитории экспресс-отчета с идентификатором «EXP». Указанная процедура является точкой входа Main в модуле Program .NET-сборки. В данный модуль должны быть импортированы сборки Express, Metabase, Drawing и Visualizators из системной сборки Prognoz.Platform.Interop.
До выполнения примера временная шкала пузырькового дерева выглядит так, как показано на странице описания интерфейса IVZBubbleTree. Установим новые значения фона и границ для данной шкалы, получим тип кисти заливки фона и ширину линии границ:
Public Shared Sub Main(Params: StartParams);
Var
Metabase: IMetabase; // Метабаза
EaxAnalyzer: IEaxAnalyzer; // Экспресс-отчёт
BubbleTree: IVZBubbleTree; // Пузырьковое дерево
Timeline: IVZTimeLine; // Временная
шкала
Style: IVZControlStyle; // Стиль
BackgroundBrush: GxSolidBrush; // Кисть фоновой заливки
BackgroundColor: GxColor; // Цвет фона
BorderPen: GxPen; // Стиль рамки
BorderColor: GxColor; // Цвет рамки
Begin
// Получим объект метабазы
Metabase := Params.Metabase;
// Получим объект экспресс-отчёта
EaxAnalyzer := Metabase.ItemById["EXP"].Edit() As IEaxAnalyzer;
// Получим пузырьковое дерево
BubbleTree := EaxAnalyzer.BubbleTree.BubbleTree;
// Получим временную
шкалу
Timeline := BubbleTree.TimeLine;
// Получим стиль временной
шкалы
Style := Timeline.Style;
// Установим новый фон
BackgroundColor := New GxColor();
BackgroundColor.CreateRGB(127, 199, 255);
BackgroundBrush := New GxSolidBrush();
BackgroundBrush.Create(BackgroundColor);
Style.SetBackground(VisualizatorControlState.vcsControlStateReleased, BackgroundBrush);
// Установим новый цвет границы
BorderColor := New GxColor();
BorderColor.CreateRGB(0, 0, 255);
BorderPen := New GxPen();
BorderPen.CreateSolid(BorderColor, 3);
Style.SetBorderPen(VisualizatorControlState.vcsControlStateReleased, BorderPen);
// Выведем тип кисти заливки фона
Select Case Style.GetBackground(VisualizatorControlState.vcsControlStateReleased).BrushType
Case GxBrushType.gbtSolidColor:
System.Diagnostics.Debug.WriteLine("Тип кисти заливки фона - SolidColor");
Case GxBrushType.gbtHatchFill:
System.Diagnostics.Debug.WriteLine("Тип кисти заливки фона - HatchFill");
Case GxBrushType.gbtTextureFill:
System.Diagnostics.Debug.WriteLine("Тип кисти заливки фона - TextureFill");
Case GxBrushType.gbtPathGradient:
System.Diagnostics.Debug.WriteLine("Тип кисти заливки фона - PathGradient");
Case GxBrushType.gbtLinearGradient:
System.Diagnostics.Debug.WriteLine("Тип кисти заливки фона - LinearGradient");
End Select;
// Выведем ширину линии границы
System.Diagnostics.Debug.WriteLine("Ширина линии границы: " +
Style.GetBorderPen(VisualizatorControlState.vcsControlStateReleased).Width.ToString());
// Сохраним экспресс-отчет
(EaxAnalyzer As IMetabaseObject).Save();
End Sub;
Результат выполнения примера аналогичен результату, полученному после выполнения примера для языка Fore.
См. также: