IVZControlStyle.SetBackground

Синтаксис Fore

SetBackground(state: VisualizatorControlState; Value: IGxBrush);

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

SetBackground(state: Prognoz.Platform.Interop.Visualizators.VisualizatorControlState; Value: Prognoz.Platform.Interop.Drawing.IGxBrush);

Параметры

state. Состояние элемента управления;

Value. Кисть фона элемента управления.

Описание

Метод SetBackground устанавливает кисть, определяющую фон элемента управления для указанного состояния.

Пример Fore

Для выполнения примера предполагается наличие в репозитории экспресс-отчета с идентификатором «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(127199255)));
    // Установим новый цвет границы
    Style.SetBorderPen(VisualizatorControlState.ControlStateReleased,
        New GxPen.CreateSolid(New GxColor.CreateRGB(25500), 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

Пример Fore.NET

Для выполнения примера предполагается наличие в репозитории экспресс-отчета с идентификатором «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(127199255);
    BackgroundBrush := New GxSolidBrush();
    BackgroundBrush.Create(BackgroundColor);
    Style.SetBackground(VisualizatorControlState.vcsControlStateReleased, BackgroundBrush);
    // Установим новый цвет границы
    BorderColor := New GxColor();
    BorderColor.CreateRGB(00255);
    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.

См. также:

IVZControlStyle