InactiveItem: Variant;
InactiveItem: System.Object;
Свойство InactiveItem определяет настройки неактивного элемента визуализатора.
В качестве значения свойства указывается кисть, описываемая интерфейсом IGxBrush, или числовое значение в зависимости от типа шкалы.
Элемент визуализатора считается неактивным, если он относится к интервалу, который не выбран для отображения в легенде.
Для выполнения примера в репозитории необходимо наличие экспресс-отчета с идентификатором «EXPRESS_REPORT», в котором содержится пузырьковое дерево. Цветовая шкала пузырькового дерева выглядит так, как показано на странице описания интерфейса IVZDataScale. Установим новые цвета для элементов шкалы.
Добавьте ссылки на системные сборки: Metabase, Express, Drawing, Visualizators.
Sub UserProc;
Var
Metabase: IMetabase; // Репозиторий
EaxAnalyzer: IEaxAnalyzer; // Экспресс-отчёт
BubbleTree: IVZBubbleTree; // Пузырьковое дерево
Scale: IVZDataScale; // Шкала цветов
Color: IGxColor; // Цвет
ColorLegend: IVZColorLegendBase; // Цветовая легенда
Begin
// Получим объект репозитория
Metabase := MetabaseClass.Active;
// Получим объект экспресс-отчёта
EaxAnalyzer := Metabase.ItemById("EXPRESS_REPORT").Edit As IEaxAnalyzer;
// Получим пузырьковое дерево
BubbleTree := EaxAnalyzer.BubbleTree.BubbleTree;
// Получим шкалу цветов пузырькового дерева
Scale := BubbleTree.ColorVisual.ColorMapping.Scale;
// Создадим фиолетовый цвет
Color := New GxColor.CreateRGB(102, 0, 204);
// Определим этот цвет для пузырьков
элемента легенды
Scale.InactiveItem := New GxSolidBrush.Create(Color);
// Установим цвет пузырьков
со второго интервала легенды
Scale.IsInactiveItem(1) := True;
// Создадим оливковый цвет
Color := New GxColor.CreateRGB(128, 128, 0);
// Определим кисть для элемента
легенды «Нет данных»
Scale.NoData := New GxSolidBrush.Create(Color);
// Получим легенду
ColorLegend := BubbleTree.Legends.Item(0) As IVZColorLegendBase;
// Включим возможность подсветки элементов легенды
ColorLegend.DoHighlight := True;
// Создадим горчичный цвет
Color := New GxColor.CreateRGB(205, 205, 0);
ColorLegend.HighlightBrush := New GxSolidBrush.Create(Color);
// Зададим возможность выделения элементов легенды по клику
ColorLegend.HoverMode := VisualizatorHoverMode.Click;
// Сохраним изменения
в экспресс-отчёте
(EaxAnalyzer As IMetabaseObject).Save;
End Sub UserProc;
После выполнения примера:
при выборе элементов со второго интервала легенды будет установлен фиолетовый цвет пузырьков;
для элемента легенды «Нет данных» будет установлен оливковый цвет;
для подсветки активных интервалов легенды будет установлен горчичный цвет.
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore. Вместо компонентов Fore используйте их Fore.NET аналоги.
Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.Express;
Imports Prognoz.Platform.Interop.Drawing;
Imports Prognoz.Platform.Interop.Visualizators;
…
Public Shared Sub Main(Params: StartParams);
Var
Metabase: IMetabase; // Репозиторий
EaxAnalyzer: IEaxAnalyzer; // Экспресс-отчёт
BubbleTree: IVZBubbleTree; // Пузырьковое дерево
Scale: IVZDataScale; // Шкала цветов
Color: IGxColor; // Цвет
ColorLegend: IVZColorLegendBase; // Цветовая легенда
Brush: IGxSolidBrush;// Кисть
Begin
// Получим объект репозитория
Metabase := Params.Metabase;
// Получим объект экспресс-отчёта
EaxAnalyzer := Metabase.ItemById["EXPRESS_REPORT"].Edit() As IEaxAnalyzer;
// Получим пузырьковое дерево
BubbleTree := EaxAnalyzer.BubbleTree.BubbleTree;
// Получим шкалу цветов пузырькового дерева
Scale := BubbleTree.ColorVisual.ColorMapping.Scale;
// Создадим фиолетовый цвет
Color := New GxColor();
Color.CreateRGB(102, 0, 204);
// Определим этот цвет для пузырьков
элемента легенды
Brush := New GxSolidBrush();
Brush.Color := Color As GxColor;
Scale.InactiveItem := Brush;
// Установим цвет пузырьков
со второго интервала легенды
Scale.IsInactiveItem[1] := True;
// Создадим оливковый цвет
Color := New GxColor();
Color.CreateRGB(128, 128, 0);
// Определим кисть для элемента
легенды «Нет данных»
Brush := New GxSolidBrush();
Brush.Color := Color As GxColor;
Scale.NoData := Brush;
// Получим легенду
ColorLegend := BubbleTree.Legends.Item[0] As IVZColorLegendBase;
// Включим возможность подсветки элементов легенды
ColorLegend.DoHighlight := True;
// Создадим горчичный цвет
Color := New GxColor();
Color.CreateRGB(205, 205, 0);
Brush := New GxSolidBrush();
Brush.Color := Color As GxColor;
ColorLegend.HighlightBrush := Brush;
// Зададим возможность выделения элементов легенды по клику
ColorLegend.HoverMode := VisualizatorHoverMode.vhmClick;
// Сохраним изменения в экспресс-отчёте
(EaxAnalyzer As IMetabaseObject).Save();
End Sub;
См. также: