HoverActiveEffects: IVZEffects;
HoverActiveEffects: Prognoz.Platform.Interop.Vizualizators.IVZEffects;
Свойство HoverActiveEffects определяет эффекты, которые применяются для элемента, на который была наведена мышь.
Для настройки эффектов используйте свойства интерфейсов IVZBrushEffect, IVZBorderEffect, IVZAlphaChannelEffect.
Для выполнения примера предполагается наличие в репозитории экспресс-отчета с идентификатором «EXPRESS».
Добавьте ссылки на системные сборки: Drawing, Express, Metabase, Visualizators.
Sub userProc;
Var
Metabase: IMetabase;
EaxAnalyzer: IEaxAnalyzer;
EMap: IVZMapChart;
BrEffect: IVZBrushEffect;
BoEffect: IVZBorderEffect;
Color: IGxColor;
Feather: IGxPen;
Begin
Metabase := MetabaseClass.Active;
EaxAnalyzer := Metabase.ItemById("EXPRESS").Edit As IEaxAnalyzer;
// Получим карту экспресс-отчета в качестве визуализатора
EMap := EaxAnalyzer.MapChart.MapChart;
// Настроим заливку
BrEffect := New VZBrushEffect.Create;
Color := New GxColor.CreateRGB(255,255,255);
BrEffect.BackgroundBrush := New GxSolidBrush.Create(Color);
// Настроим границы
BoEffect:= New VZBorderEffect.Create;
Color := New GxColor.CreateRGB(0,0,0);
Feather := New GxPen.CreateSolid(Color,2);
BoEffect.BorderPen := Feather;
// Определим эффект при наведении мыши на активный элемент
EMap.HoverActiveEffects := New VZEffects.Create;
EMap.HoverActiveEffects.Add(BrEffect);
// Определим эффект при наведении мыши на неактивный элемент
EMap.HoverInactiveEffects := New VZEffects.Create;
EMap.HoverInactiveEffects.Add(BoEffect);
// Определим эффект выделения активного элемента
Color := New GxColor.CreateRGB(255,0,0);
BrEffect.BackgroundBrush := New GxSolidBrush.Create(Color);
EMap.SelectActiveEffects := New VZEffects.Create;
EMap.SelectActiveEffects.Add(BrEffect);
// Определим эффект выделения неактивного элемента
Color := New GxColor.CreateRGB(0,255,0);
BrEffect.BackgroundBrush := New GxSolidBrush.Create(Color);
EMap.SelectInactiveEffects := New VZEffects.Create;
EMap.SelectInactiveEffects.Add(BrEffect);
(EaxAnalyzer As IMetabaseObject).Save;
End Sub UserProc;
В результате выполнения примера установлены следующие эффекты:
при наведении мыши активный регион будет выделяться белой заливкой;
при наведении мыши неактивный регион будет выделяться черной границей;
при выделении активный регион будет выделяться красной заливкой;
при выделении неактивный регион будет выделяться зеленой заливкой.
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.
Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.Express;
Imports Prognoz.Platform.Interop.Visualizators;
Imports Prognoz.Platform.Interop.Drawing;
…
Public Shared Sub Main(Params: StartParams);
Var
Metabase: IMetabase;
EaxAnalyzer: IEaxAnalyzer;
EMap: IVZMapChart;
BrEffect: IVZBrushEffect;
Brush: GxSolidBrush;
BoEffect: IVZBorderEffect;
Color: GxColorClass;
Begin
Metabase := Params.Metabase;
EaxAnalyzer := Metabase.ItemById["EXPRESS"].Edit() As IEaxAnalyzer;
// Получим карту экспресс-отчета в качестве визуализатора
EMap := EaxAnalyzer.MapChart.MapChart;
// Настроим подсветку бордюром
Color := New GxColorClassClass();
Brush := New GxSolidBrushClass();
Brush.Create(Color.FromName("Green"));
BrEffect := New VZBrushEffect.Create();
BrEffect.BackgroundBrush := Brush;
// Определим эффект при наведении мыши на активный элемент
EMap.HoverActiveEffects := New VZEffects.Create();
EMap.HoverActiveEffects.Add(BrEffect);
// Определим эффект при наведении мыши на неактивный элемент.
Brush.Create(Color.FromName("Red"));
BrEffect.BackgroundBrush := Brush;
EMap.HoverInactiveEffects := New VZEffects.Create();
EMap.HoverInactiveEffects.Add(BrEffect);
// Определим эффект выделения активного элемента
Brush.Create(Color.FromName("Blue"));
BrEffect.BackgroundBrush := Brush;
EMap.SelectActiveEffects := New VZEffects.Create();
EMap.SelectActiveEffects.Add(BrEffect);
// Определим эффект выделения неактивного элемента
Brush.Create(Color.FromName("Black"));
BrEffect.BackgroundBrush := Brush;
EMap.SelectInactiveEffects := New VZEffects.Create();
EMap.SelectInactiveEffects.Add(BrEffect);
(EaxAnalyzer As IMetabaseObject).Save();
End Sub;
См. также: