mirror of
https://github.com/Hofknecht/SystemTrayMenu.git
synced 2024-06-30 03:51:14 +12:00
[Feature] Custom Scrollbar (#183), version 1.0.17.61
This commit is contained in:
parent
47ccdd7d21
commit
c5f4add68b
|
@ -39,5 +39,5 @@ using System.Runtime.InteropServices;
|
||||||
// You can specify all the values or you can default the Build and Revision Numbers
|
// You can specify all the values or you can default the Build and Revision Numbers
|
||||||
// by using the '*' as shown below:
|
// by using the '*' as shown below:
|
||||||
// [assembly: AssemblyVersion("1.0.*")]
|
// [assembly: AssemblyVersion("1.0.*")]
|
||||||
[assembly: AssemblyVersion("1.0.17.60")]
|
[assembly: AssemblyVersion("1.0.17.61")]
|
||||||
[assembly: AssemblyFileVersion("1.0.17.60")]
|
[assembly: AssemblyFileVersion("1.0.17.61")]
|
||||||
|
|
|
@ -28,6 +28,7 @@ namespace SystemTrayMenu.UserInterface
|
||||||
private bool arrowUpHovered = false;
|
private bool arrowUpHovered = false;
|
||||||
private bool sliderHovered = false;
|
private bool sliderHovered = false;
|
||||||
private bool arrowDownHovered = false;
|
private bool arrowDownHovered = false;
|
||||||
|
private bool trackHovered = false;
|
||||||
private bool mouseStillClickedMoveUp = false;
|
private bool mouseStillClickedMoveUp = false;
|
||||||
private bool mouseStillClickedMoveLarge = false;
|
private bool mouseStillClickedMoveLarge = false;
|
||||||
private int timerMouseStillClickedCounter = 0;
|
private int timerMouseStillClickedCounter = 0;
|
||||||
|
@ -196,6 +197,7 @@ namespace SystemTrayMenu.UserInterface
|
||||||
arrowUpHovered = false;
|
arrowUpHovered = false;
|
||||||
sliderHovered = false;
|
sliderHovered = false;
|
||||||
arrowDownHovered = false;
|
arrowDownHovered = false;
|
||||||
|
trackHovered = false;
|
||||||
mouseStillClickedMoveUp = false;
|
mouseStillClickedMoveUp = false;
|
||||||
mouseStillClickedMoveLarge = false;
|
mouseStillClickedMoveLarge = false;
|
||||||
timerMouseStillClickedCounter = 0;
|
timerMouseStillClickedCounter = 0;
|
||||||
|
@ -245,8 +247,11 @@ namespace SystemTrayMenu.UserInterface
|
||||||
e.Graphics.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.NearestNeighbor;
|
e.Graphics.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.NearestNeighbor;
|
||||||
|
|
||||||
Color colorArrows;
|
Color colorArrows;
|
||||||
Color colorArrowsHoverBackground;
|
Color colorArrowHoverBackground;
|
||||||
Color colorArrowsHover;
|
Color colorArrowHover;
|
||||||
|
Color colorArrowClicked;
|
||||||
|
Color colorArrowClickedBackground;
|
||||||
|
Color colorSliderArrowsAndTrackHover;
|
||||||
Color colorSlider;
|
Color colorSlider;
|
||||||
Color colorSliderHover;
|
Color colorSliderHover;
|
||||||
Color colorSliderDragging;
|
Color colorSliderDragging;
|
||||||
|
@ -254,8 +259,11 @@ namespace SystemTrayMenu.UserInterface
|
||||||
if (Config.IsDarkMode())
|
if (Config.IsDarkMode())
|
||||||
{
|
{
|
||||||
colorArrows = Color.FromArgb(103, 103, 103);
|
colorArrows = Color.FromArgb(103, 103, 103);
|
||||||
colorArrowsHoverBackground = Color.FromArgb(55, 55, 55);
|
colorArrowHoverBackground = Color.FromArgb(55, 55, 55);
|
||||||
colorArrowsHover = Color.FromArgb(103, 103, 103);
|
colorArrowHover = Color.FromArgb(103, 103, 103);
|
||||||
|
colorArrowClicked = Color.FromArgb(23, 23, 23);
|
||||||
|
colorArrowClickedBackground = Color.FromArgb(166, 166, 166);
|
||||||
|
colorSliderArrowsAndTrackHover = Color.FromArgb(77, 77, 77);
|
||||||
colorSlider = Color.FromArgb(77, 77, 77);
|
colorSlider = Color.FromArgb(77, 77, 77);
|
||||||
colorSliderHover = Color.FromArgb(122, 122, 122);
|
colorSliderHover = Color.FromArgb(122, 122, 122);
|
||||||
colorSliderDragging = Color.FromArgb(166, 166, 166);
|
colorSliderDragging = Color.FromArgb(166, 166, 166);
|
||||||
|
@ -264,8 +272,11 @@ namespace SystemTrayMenu.UserInterface
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
colorArrows = Color.FromArgb(96, 96, 96);
|
colorArrows = Color.FromArgb(96, 96, 96);
|
||||||
colorArrowsHoverBackground = Color.FromArgb(218, 218, 218);
|
colorArrowHoverBackground = Color.FromArgb(218, 218, 218);
|
||||||
colorArrowsHover = Color.FromArgb(0, 0, 0);
|
colorArrowHover = Color.FromArgb(0, 0, 0);
|
||||||
|
colorArrowClicked = Color.FromArgb(255, 255, 255);
|
||||||
|
colorArrowClickedBackground = Color.FromArgb(96, 96, 96);
|
||||||
|
colorSliderArrowsAndTrackHover = Color.FromArgb(192, 192, 192);
|
||||||
colorSlider = Color.FromArgb(205, 205, 205);
|
colorSlider = Color.FromArgb(205, 205, 205);
|
||||||
colorSliderHover = Color.FromArgb(166, 166, 166);
|
colorSliderHover = Color.FromArgb(166, 166, 166);
|
||||||
colorSliderDragging = Color.FromArgb(96, 96, 96);
|
colorSliderDragging = Color.FromArgb(96, 96, 96);
|
||||||
|
@ -291,10 +302,16 @@ namespace SystemTrayMenu.UserInterface
|
||||||
// Draw arrowUp
|
// Draw arrowUp
|
||||||
SolidBrush solidBrushArrowUp;
|
SolidBrush solidBrushArrowUp;
|
||||||
Pen penArrowUp;
|
Pen penArrowUp;
|
||||||
if (arrowUpHovered)
|
if (timerMouseStillClicked.Enabled &&
|
||||||
|
!mouseStillClickedMoveLarge && mouseStillClickedMoveUp)
|
||||||
{
|
{
|
||||||
solidBrushArrowUp = new SolidBrush(colorArrowsHoverBackground);
|
solidBrushArrowUp = new SolidBrush(colorArrowClickedBackground);
|
||||||
penArrowUp = new Pen(colorArrowsHover, 2.5F);
|
penArrowUp = new Pen(colorArrowClicked, 2.5F);
|
||||||
|
}
|
||||||
|
else if (arrowUpHovered)
|
||||||
|
{
|
||||||
|
solidBrushArrowUp = new SolidBrush(colorArrowHoverBackground);
|
||||||
|
penArrowUp = new Pen(colorArrowHover, 2.5F);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -331,9 +348,16 @@ namespace SystemTrayMenu.UserInterface
|
||||||
solidBrushSlider = new SolidBrush(colorSliderHover);
|
solidBrushSlider = new SolidBrush(colorSliderHover);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
|
if (arrowUpHovered || arrowDownHovered || trackHovered)
|
||||||
|
{
|
||||||
|
solidBrushSlider = new SolidBrush(colorSliderArrowsAndTrackHover);
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
solidBrushSlider = new SolidBrush(colorSlider);
|
solidBrushSlider = new SolidBrush(colorSlider);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Rectangle rectangleSlider = new Rectangle(1, top, Width - 2, sliderHeight);
|
Rectangle rectangleSlider = new Rectangle(1, top, Width - 2, sliderHeight);
|
||||||
e.Graphics.FillRectangle(solidBrushSlider, rectangleSlider);
|
e.Graphics.FillRectangle(solidBrushSlider, rectangleSlider);
|
||||||
|
@ -341,10 +365,17 @@ namespace SystemTrayMenu.UserInterface
|
||||||
// Draw arrowDown
|
// Draw arrowDown
|
||||||
SolidBrush solidBrushArrowDown;
|
SolidBrush solidBrushArrowDown;
|
||||||
Pen penArrowDown;
|
Pen penArrowDown;
|
||||||
|
if (timerMouseStillClicked.Enabled &&
|
||||||
|
!mouseStillClickedMoveLarge && !mouseStillClickedMoveUp)
|
||||||
|
{
|
||||||
|
solidBrushArrowDown = new SolidBrush(colorArrowClickedBackground);
|
||||||
|
penArrowDown = new Pen(colorArrowClicked, 2.5F);
|
||||||
|
}
|
||||||
|
else
|
||||||
if (arrowDownHovered)
|
if (arrowDownHovered)
|
||||||
{
|
{
|
||||||
solidBrushArrowDown = new SolidBrush(colorArrowsHoverBackground);
|
solidBrushArrowDown = new SolidBrush(colorArrowHoverBackground);
|
||||||
penArrowDown = new Pen(colorArrowsHover, 2.5F);
|
penArrowDown = new Pen(colorArrowHover, 2.5F);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -422,6 +453,7 @@ namespace SystemTrayMenu.UserInterface
|
||||||
arrowUpHovered = false;
|
arrowUpHovered = false;
|
||||||
sliderHovered = false;
|
sliderHovered = false;
|
||||||
arrowDownHovered = false;
|
arrowDownHovered = false;
|
||||||
|
trackHovered = false;
|
||||||
Refresh();
|
Refresh();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -588,22 +620,15 @@ namespace SystemTrayMenu.UserInterface
|
||||||
arrowUpHovered = false;
|
arrowUpHovered = false;
|
||||||
sliderHovered = true;
|
sliderHovered = true;
|
||||||
arrowDownHovered = false;
|
arrowDownHovered = false;
|
||||||
|
trackHovered = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (trackRectangle.Contains(pointCursor))
|
else if (trackRectangle.Contains(pointCursor))
|
||||||
{
|
|
||||||
if (e.Y < sliderRectangle.Y)
|
|
||||||
{
|
{
|
||||||
arrowUpHovered = false;
|
arrowUpHovered = false;
|
||||||
sliderHovered = false;
|
sliderHovered = false;
|
||||||
arrowDownHovered = false;
|
arrowDownHovered = false;
|
||||||
}
|
trackHovered = true;
|
||||||
else
|
|
||||||
{
|
|
||||||
arrowUpHovered = false;
|
|
||||||
sliderHovered = false;
|
|
||||||
arrowDownHovered = false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Rectangle upArrowRectangle = GetUpArrowRectangle();
|
Rectangle upArrowRectangle = GetUpArrowRectangle();
|
||||||
|
@ -614,6 +639,7 @@ namespace SystemTrayMenu.UserInterface
|
||||||
arrowUpHovered = true;
|
arrowUpHovered = true;
|
||||||
sliderHovered = false;
|
sliderHovered = false;
|
||||||
arrowDownHovered = false;
|
arrowDownHovered = false;
|
||||||
|
trackHovered = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -625,6 +651,7 @@ namespace SystemTrayMenu.UserInterface
|
||||||
arrowUpHovered = false;
|
arrowUpHovered = false;
|
||||||
sliderHovered = false;
|
sliderHovered = false;
|
||||||
arrowDownHovered = true;
|
arrowDownHovered = true;
|
||||||
|
trackHovered = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue