* UITreeView: 增加可修改滚动条颜色

This commit is contained in:
Sunny 2024-01-01 21:08:02 +08:00
parent 9a3c8de7a9
commit 55115811bf

View File

@ -35,6 +35,7 @@
* 2023-05-13: V3.3.6 DrawString函数
* 2023-07-02: V3.3.9 DrawMode属性OwnerDrawAll
* 2023-11-13: V3.5.2
* 2024-01-01: V3.6.2
******************************************************************************/
using System;
@ -96,6 +97,87 @@ namespace Sunny.UI
view.MouseClick += View_MouseClick;
}
private Color scrollBarColor = Color.FromArgb(80, 160, 255);
/// <summary>
/// 填充颜色,当值为背景色或透明色或空值则不填充
/// </summary>
[Description("滚动条填充颜色"), Category("SunnyUI")]
[DefaultValue(typeof(Color), "80, 160, 255")]
public Color ScrollBarColor
{
get => scrollBarColor;
set
{
scrollBarColor = value;
HBar.HoverColor = HBar.PressColor = HBar.ForeColor = value;
Bar.HoverColor = Bar.PressColor = Bar.ForeColor = value;
HBar.Style = Bar.Style = UIStyle.Custom;
Invalidate();
}
}
private Color scrollBarRectColor = Color.FromArgb(80, 160, 255);
/// <summary>
/// 填充颜色,当值为背景色或透明色或空值则不填充
/// </summary>
[Description("滚动条边框颜色"), Category("SunnyUI")]
[DefaultValue(typeof(Color), "80, 160, 255")]
public Color ScrollBarRectColor
{
get => scrollBarRectColor;
set
{
scrollBarRectColor = value;
Bar.RectColor = value;
HBar.Style = Bar.Style = UIStyle.Custom;
Invalidate();
}
}
private Color scrollBarBackColor = Color.FromArgb(243, 249, 255);
/// <summary>
/// 填充颜色,当值为背景色或透明色或空值则不填充
/// </summary>
[Description("滚动条背景颜色"), Category("SunnyUI")]
[DefaultValue(typeof(Color), "243, 249, 255")]
public Color ScrollBarBackColor
{
get => scrollBarBackColor;
set
{
scrollBarBackColor = value;
HBar.FillColor = value;
Bar.FillColor = value;
HBar.Style = Bar.Style = UIStyle.Custom;
Invalidate();
}
}
/// <summary>
/// 滚动条主题样式
/// </summary>
[DefaultValue(true), Description("滚动条主题样式"), Category("SunnyUI")]
public bool ScrollBarStyleInherited
{
get => HBar != null && HBar.Style == UIStyle.Inherited;
set
{
if (value)
{
if (HBar != null) HBar.Style = UIStyle.Inherited;
if (Bar != null) Bar.Style = UIStyle.Inherited;
scrollBarColor = UIStyles.Blue.GridBarForeColor;
scrollBarBackColor = UIStyles.Blue.GridBarFillColor;
scrollBarRectColor = Bar.RectColor = UIStyles.Blue.RectColor;
}
}
}
public override void SetDPIScale()
{
base.SetDPIScale();
@ -318,6 +400,10 @@ namespace Sunny.UI
Bar.ForeColor = uiColor.TreeViewBarForeColor;
Bar.HoverColor = uiColor.ButtonFillHoverColor;
Bar.PressColor = uiColor.ButtonFillPressColor;
scrollBarRectColor = Bar.RectColor = uiColor.RectColor;
scrollBarColor = uiColor.GridBarForeColor;
scrollBarBackColor = uiColor.GridBarFillColor;
}
if (HBar != null)
@ -326,6 +412,8 @@ namespace Sunny.UI
HBar.ForeColor = uiColor.TreeViewBarForeColor;
HBar.HoverColor = uiColor.ButtonFillHoverColor;
HBar.PressColor = uiColor.ButtonFillPressColor;
scrollBarColor = uiColor.GridBarForeColor;
scrollBarBackColor = uiColor.GridBarFillColor;
}
}