Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Imports System.Drawing
- Imports System.Drawing.Drawing2D
- Imports System.ComponentModel
- Imports System.Text
- Imports System.Drawing.Text
- ''' <summary>
- ''' Get more free themes at ThemesVB.NET
- ''' Loyal Theme
- ''' Created by Earn
- ''' From HackForums.net
- ''' </summary>
- ''' <remarks></remarks>
- Enum MouseState
- None = 0
- Over = 1
- Down = 2
- End Enum
- Class LoyalTheme
- Inherits ContainerControl
- #Region " Back End "
- #Region " Enums "
- Enum ControlsAlign
- Left = 0
- Right = 2
- End Enum
- Enum TextAlign
- Left = 0
- Center = 1
- Right = 2
- End Enum
- #End Region
- #Region " Declarations "
- Private _Down As Boolean = False
- Private _Header As Integer = 47
- Private _MousePoint As Point
- Private _ControlsFormat As New StringFormat With {.LineAlignment = StringAlignment.Center}
- #End Region
- #Region " Properties "
- Private _HeaderColor As Color = Color.Aqua
- <Category("Header Settings")>
- Public Property HeaderColor() As Color
- Get
- Return _HeaderColor
- End Get
- Set(ByVal value As Color)
- _HeaderColor = value
- Invalidate()
- End Set
- End Property
- ' Get more free themes at ThemesVB.NET
- 'Alignments
- Private _ControlsAlignment As ControlsAlign = ControlsAlign.Right
- <Category("Header Settings")>
- Public Property ControlsAlignment() As ControlsAlign
- Get
- Return _ControlsAlignment
- End Get
- Set(ByVal value As ControlsAlign)
- _ControlsAlignment = value
- Invalidate()
- End Set
- End Property
- Private _TextAlignment As TextAlign = TextAlign.Center
- <Category("Header Settings")>
- Public Property TextAlignment() As TextAlign
- Get
- Return _TextAlignment
- End Get
- Set(ByVal value As TextAlign)
- _TextAlignment = value
- Invalidate()
- End Set
- End Property
- 'Header Size
- Private _HeaderSize As Integer = 30
- <Category("Header Settings")>
- Public Property HeaderSize() As Integer
- Get
- Return _HeaderSize
- End Get
- Set(ByVal value As Integer)
- _HeaderSize = value
- Invalidate()
- End Set
- End Property
- 'Show Controls
- Private _ShowClose As Boolean
- <Category("Header Settings")>
- Public Property ShowClose() As Boolean
- Get
- Return _ShowClose
- End Get
- Set(ByVal value As Boolean)
- _ShowClose = value
- Invalidate()
- End Set
- End Property
- Private _ShowMinimize As Boolean
- <Category("Header Settings")>
- Public Property ShowMinimize() As Boolean
- Get
- Return _ShowMinimize
- End Get
- Set(ByVal value As Boolean)
- _ShowMinimize = value
- Invalidate()
- End Set
- End Property
- Private _ShowMaximize As Boolean
- <Category("Header Settings")>
- Public Property ShowMaximize() As Boolean
- Get
- Return _ShowMaximize
- End Get
- Set(ByVal value As Boolean)
- _ShowMaximize = value
- Invalidate()
- End Set
- End Property
- #End Region
- #Region " Mouse States "
- Protected Overrides Sub OnMouseDown(e As MouseEventArgs)
- MyBase.OnMouseDown(e)
- Select Case ControlsAlignment
- Case ControlsAlign.Right
- '_ShowClose
- If _ShowClose = True Then
- If New Rectangle(Width - 23, (((_HeaderSize + 2) - 18) / 2), 18, 18).Contains(e.Location) Then
- Application.Exit()
- End If
- End If
- '_ShowMinimize
- If _ShowMinimize = True Then
- If _ShowMaximize = True Then
- If _ShowClose = True Then
- If New Rectangle(Width - 58, (((_HeaderSize + 2) - 18) / 2), 17, 18).Contains(e.Location) Then
- FindForm.WindowState = FormWindowState.Minimized
- Exit Sub
- End If
- Else
- If New Rectangle(Width - 41, (((_HeaderSize + 2) - 18) / 2), 18, 18).Contains(e.Location) Then
- FindForm.WindowState = FormWindowState.Minimized
- Exit Sub
- End If
- End If
- Else
- If _ShowClose = True Then
- If New Rectangle(Width - 41, (((_HeaderSize + 2) - 18) / 2), 18, 18).Contains(e.Location) Then
- FindForm.WindowState = FormWindowState.Minimized
- Exit Sub
- End If
- Else
- If New Rectangle(Width - 23, (((_HeaderSize + 2) - 18) / 2), 18, 18).Contains(e.Location) Then
- FindForm.WindowState = FormWindowState.Minimized
- Exit Sub
- End If
- End If
- End If
- End If
- ' Get more free themes at ThemesVB.NET
- '_ShowMaximize
- If _ShowMaximize = True Then
- If _ShowClose = True Then
- If New Rectangle(Width - 41, (((_HeaderSize + 2) - 18) / 2), 18, 18).Contains(e.Location) Then
- If FindForm.WindowState = FormWindowState.Maximized Then
- FindForm.WindowState = FormWindowState.Normal
- Refresh()
- ElseIf FindForm.WindowState = FormWindowState.Normal Then
- FindForm.WindowState = FormWindowState.Maximized
- Refresh()
- End If
- Exit Sub
- End If
- Else
- If New Rectangle(Width - 23, (((_HeaderSize + 2) - 18) / 2), 18, 18).Contains(e.Location) Then
- If FindForm.WindowState = FormWindowState.Maximized Then
- FindForm.WindowState = FormWindowState.Normal
- Refresh()
- ElseIf FindForm.WindowState = FormWindowState.Normal Then
- FindForm.WindowState = FormWindowState.Maximized
- Refresh()
- End If
- Exit Sub
- End If
- End If
- End If
- Case ControlsAlign.Left
- '_ShowClose
- If _ShowClose = True Then
- If New Rectangle(4, (((_HeaderSize + 2) - 18) / 2), 18, 18).Contains(e.Location) Then
- Application.Exit()
- End If
- End If
- '_ShowMinimize
- If _ShowMinimize = True Then
- If _ShowMaximize = True Then
- If _ShowClose = True Then
- If New Rectangle(40, (((_HeaderSize + 2) - 18) / 2), 17, 18).Contains(e.Location) Then
- FindForm.WindowState = FormWindowState.Minimized
- Exit Sub
- End If
- Else
- If New Rectangle(22, (((_HeaderSize + 2) - 18) / 2), 18, 18).Contains(e.Location) Then
- FindForm.WindowState = FormWindowState.Minimized
- Exit Sub
- End If
- End If
- Else
- If _ShowClose = True Then
- If New Rectangle(22, (((_HeaderSize + 2) - 18) / 2), 18, 18).Contains(e.Location) Then
- FindForm.WindowState = FormWindowState.Minimized
- Exit Sub
- End If
- Else
- If New Rectangle(4, (((_HeaderSize + 2) - 18) / 2), 18, 18).Contains(e.Location) Then
- FindForm.WindowState = FormWindowState.Minimized
- Exit Sub
- End If
- End If
- End If
- End If
- '_ShowMaximize
- If _ShowMaximize = True Then
- If _ShowClose = True Then
- If New Rectangle(22, (((_HeaderSize + 2) - 18) / 2), 18, 18).Contains(e.Location) Then
- If FindForm.WindowState = FormWindowState.Maximized Then
- FindForm.WindowState = FormWindowState.Normal
- Refresh()
- ElseIf FindForm.WindowState = FormWindowState.Normal Then
- FindForm.WindowState = FormWindowState.Maximized
- Refresh()
- End If
- Exit Sub
- End If
- Else
- If New Rectangle(4, (((_HeaderSize + 2) - 18) / 2), 18, 18).Contains(e.Location) Then
- If FindForm.WindowState = FormWindowState.Maximized Then
- FindForm.WindowState = FormWindowState.Normal
- Refresh()
- ElseIf FindForm.WindowState = FormWindowState.Normal Then
- FindForm.WindowState = FormWindowState.Maximized
- Refresh()
- End If
- Exit Sub
- End If
- End If
- End If
- End Select
- If e.Y < _Header AndAlso e.Button = Windows.Forms.MouseButtons.Left Then
- _Down = True
- _MousePoint = New Point(e.Location)
- End If
- End Sub
- Protected Overrides Sub OnMouseUp(e As MouseEventArgs)
- MyBase.OnMouseUp(e)
- _Down = False
- End Sub
- Protected Overrides Sub OnMouseMove(e As MouseEventArgs)
- MyBase.OnMouseMove(e)
- If _Down = True Then
- ParentForm.Location = MousePosition - _MousePoint
- End If
- End Sub
- #End Region
- ' Get more free themes at ThemesVB.NET
- #Region " Misc "
- Protected Overrides Sub OnCreateControl()
- MyBase.OnCreateControl()
- Dock = DockStyle.Fill
- ParentForm.TransparencyKey = Color.Fuchsia
- ParentForm.FormBorderStyle = FormBorderStyle.None
- BackColor = Color.FromArgb(31, 31, 31)
- Invalidate()
- End Sub
- #End Region
- #End Region
- Protected Overrides Sub OnPaint(e As PaintEventArgs)
- MyBase.OnPaint(e)
- Dim G = e.Graphics
- With G
- Dim _StringF As New StringFormat With {.LineAlignment = StringAlignment.Center}
- .Clear(Color.FromArgb(31, 31, 31))
- .FillRectangle(New SolidBrush(_HeaderColor), New Rectangle(0, 0, Width, 5))
- .FillRectangle(New SolidBrush(Color.FromArgb(34, 34, 34)), New Rectangle(0, 5, Width, _HeaderSize))
- .DrawLine(New Pen(Color.FromArgb(38, 38, 38)), New Point(0, _HeaderSize + 5), New Point(Width, _HeaderSize + 5))
- .DrawLine(New Pen(Color.FromArgb(24, 24, 24)), New Point(0, _HeaderSize + 6), New Point(Width, _HeaderSize + 6))
- .DrawLine(Pens.Fuchsia, New Point(0, 0), New Point(0, 2))
- .DrawLine(Pens.Fuchsia, New Point(0, 0), New Point(2, 0))
- .DrawLine(Pens.Fuchsia, New Point(Width - 1, 0), New Point(Width - 1, 2))
- .DrawLine(Pens.Fuchsia, New Point(Width - 1, 0), New Point(Width - 3, 0))
- If _ControlsAlignment = ControlsAlign.Right Then
- If _ShowClose = True Then
- .DrawString("r", New Font("Marlett", 11), Brushes.White, New RectangleF(Width - 23, 5, 23, _HeaderSize + 3), _ControlsFormat)
- End If
- If _ShowMinimize = True Then
- If _ShowMaximize = True Then
- If _ShowClose = True Then
- G.DrawString("0", New Font("Marlett", 11), Brushes.White, New RectangleF(Width - 57, 5, 23, _HeaderSize + 3), _ControlsFormat)
- Else
- G.DrawString("0", New Font("Marlett", 11), Brushes.White, New RectangleF(Width - 41, 5, 23, _HeaderSize + 3), _ControlsFormat)
- End If
- Else
- If _ShowClose = True Then
- G.DrawString("0", New Font("Marlett", 11), Brushes.White, New RectangleF(Width - 41, 5, 23, _HeaderSize + 3), _ControlsFormat)
- Else
- G.DrawString("0", New Font("Marlett", 11), Brushes.White, New RectangleF(Width - 23, 5, 23, _HeaderSize + 3), _ControlsFormat)
- End If
- End If
- End If
- If _ShowMaximize = True Then
- If _ShowClose = True Then
- If FindForm.WindowState = FormWindowState.Maximized Then
- .DrawString("1", New Font("Marlett", 11), Brushes.White, New RectangleF(Width - 41, 5, 23, _HeaderSize + 3), _ControlsFormat)
- ElseIf FindForm.WindowState = FormWindowState.Normal Then
- .DrawString("2", New Font("Marlett", 11), Brushes.White, New RectangleF(Width - 41, 5, 23, _HeaderSize + 3), _ControlsFormat)
- End If
- Else
- If FindForm.WindowState = FormWindowState.Maximized Then
- .DrawString("1", New Font("Marlett", 11), Brushes.White, New RectangleF(Width - 23, 5, 23, _HeaderSize + 3), _ControlsFormat)
- ElseIf FindForm.WindowState = FormWindowState.Normal Then
- .DrawString("2", New Font("Marlett", 11), Brushes.White, New RectangleF(Width - 23, 5, 23, _HeaderSize + 3), _ControlsFormat)
- End If
- End If
- End If
- End If
- If _ControlsAlignment = ControlsAlign.Left Then
- If _ShowClose = True Then
- .DrawString("r", New Font("Marlett", 11), Brushes.White, New RectangleF(5, 5, 23, _HeaderSize + 3), _ControlsFormat)
- End If
- If _ShowMinimize = True Then
- If _ShowMaximize = True Then
- If _ShowClose = True Then
- G.DrawString("0", New Font("Marlett", 11), Brushes.White, New RectangleF(41, 5, 23, _HeaderSize + 3), _ControlsFormat)
- Else
- G.DrawString("0", New Font("Marlett", 11), Brushes.White, New RectangleF(23, 5, 23, _HeaderSize + 3), _ControlsFormat)
- End If
- Else
- If _ShowClose = True Then
- G.DrawString("0", New Font("Marlett", 11), Brushes.White, New RectangleF(23, 5, 23, _HeaderSize + 3), _ControlsFormat)
- Else
- G.DrawString("0", New Font("Marlett", 11), Brushes.White, New RectangleF(5, 5, 23, _HeaderSize + 3), _ControlsFormat)
- End If
- End If
- End If
- If _ShowMaximize = True Then
- If _ShowClose = True Then
- If FindForm.WindowState = FormWindowState.Maximized Then
- .DrawString("1", New Font("Marlett", 11), Brushes.White, New RectangleF(23, 5, 23, _HeaderSize + 3), _ControlsFormat)
- ElseIf FindForm.WindowState = FormWindowState.Normal Then
- .DrawString("2", New Font("Marlett", 11), Brushes.White, New RectangleF(23, 5, 23, _HeaderSize + 3), _ControlsFormat)
- End If
- Else
- If FindForm.WindowState = FormWindowState.Maximized Then
- .DrawString("1", New Font("Marlett", 11), Brushes.White, New RectangleF(5, 5, 23, _HeaderSize + 3), _ControlsFormat)
- ElseIf FindForm.WindowState = FormWindowState.Normal Then
- .DrawString("2", New Font("Marlett", 11), Brushes.White, New RectangleF(5, 5, 23, _HeaderSize + 3), _ControlsFormat)
- End If
- End If
- End If
- End If
- Select Case _TextAlignment
- Case TextAlign.Center
- _StringF.Alignment = StringAlignment.Center
- .DrawString(Text, New Font("Arial", 9), Brushes.White, New RectangleF(0, 5, Width, _HeaderSize), _StringF)
- Case TextAlign.Left
- .DrawString(Text, New Font("Arial", 9), Brushes.White, New RectangleF(10, 5, Width, _HeaderSize), _StringF)
- Case TextAlign.Right
- Dim _TextLength As Integer = TextRenderer.MeasureText(Text, New Font("Arial", 9)).Width + 10
- .DrawString(Text, New Font("Arial", 9), Brushes.White, New RectangleF(Width - _TextLength, 5, Width, _HeaderSize), _StringF)
- End Select
- End With
- End Sub
- End Class
- Class LoyalButton
- Inherits Control
- #Region " Back End "
- #Region " Enums "
- Enum Alignment
- Left = 0
- Center = 1
- Right = 2
- End Enum
- #End Region
- #Region " Declarations "
- Private _State As MouseState = MouseState.None
- #End Region
- #Region " Mouse States "
- Protected Overrides Sub OnMouseEnter(e As EventArgs)
- MyBase.OnMouseEnter(e)
- _State = MouseState.Over
- Invalidate()
- End Sub
- Protected Overrides Sub OnMouseLeave(e As EventArgs)
- MyBase.OnMouseLeave(e)
- _State = MouseState.None
- Invalidate()
- End Sub
- Protected Overrides Sub OnMouseDown(e As MouseEventArgs)
- MyBase.OnMouseDown(e)
- _State = MouseState.Down
- Invalidate()
- End Sub
- Protected Overrides Sub OnMouseUp(e As MouseEventArgs)
- MyBase.OnMouseUp(e)
- _State = MouseState.Over
- Invalidate()
- End Sub
- #End Region
- #Region " Properties "
- Private _TextAlignment As Alignment = Alignment.Center
- <Category("Button Settings")>
- Public Property TextAlignment() As Alignment
- Get
- Return _TextAlignment
- End Get
- Set(ByVal value As Alignment)
- _TextAlignment = value
- Invalidate()
- End Set
- End Property
- Private _OutlineColor As Color = Color.FromArgb(102, 51, 153)
- <Category("Button Settings")>
- Public Property OutlineColor() As Color
- Get
- Return _OutlineColor
- End Get
- Set(ByVal value As Color)
- _OutlineColor = value
- Invalidate()
- End Set
- End Property
- #End Region
- Sub New()
- Size = New Size(75, 25)
- End Sub
- #End Region
- ' Get more free themes at ThemesVB.NET
- Protected Overrides Sub OnPaint(e As PaintEventArgs)
- MyBase.OnPaint(e)
- Dim G = e.Graphics
- With G
- .Clear(Color.FromArgb(40, 40, 40))
- Select Case _State
- Case MouseState.None
- .DrawRectangle(New Pen(Color.FromArgb(24, 24, 24)), New Rectangle(0, 0, Width - 1, Height - 1))
- Case MouseState.Over
- .DrawRectangle(New Pen(_OutlineColor), New Rectangle(0, 0, Width - 1, Height - 1))
- Case MouseState.Down
- .FillRectangle(New SolidBrush(Color.FromArgb(30, 30, 30)), New Rectangle(0, 0, Width - 1, Height - 1))
- .DrawRectangle(New Pen(_OutlineColor), New Rectangle(0, 0, Width - 1, Height - 1))
- End Select
- .DrawRectangle(New Pen(Color.FromArgb(48, 48, 48)), New Rectangle(1, 1, Width - 3, Height - 3))
- .FillRectangle(New SolidBrush(Color.FromArgb(35, 35, 35)), New Rectangle(0, 0, 1, 1))
- .FillRectangle(New SolidBrush(Color.FromArgb(35, 35, 35)), New Rectangle(0, Height - 1, 1, 1))
- .FillRectangle(New SolidBrush(Color.FromArgb(35, 35, 35)), New Rectangle(Width - 1, 0, 1, 1))
- .FillRectangle(New SolidBrush(Color.FromArgb(35, 35, 35)), New Rectangle(Width - 1, Height - 1, 1, 1))
- Dim _StringF As New StringFormat With {.LineAlignment = StringAlignment.Center}
- Select Case _TextAlignment
- Case Alignment.Center
- _StringF.Alignment = StringAlignment.Center
- .DrawString(Text, New Font("Arial", 9), Brushes.White, New RectangleF(0, 0, Width - 1, Height - 1), _StringF)
- Case Alignment.Left
- .DrawString(Text, New Font("Arial", 9), Brushes.White, New RectangleF(7, 0, Width - 11, Height - 1), _StringF)
- Case Alignment.Right
- Dim _StringLength As Integer = TextRenderer.MeasureText(Text, New Font("Arial", 9)).Width + 8
- .DrawString(Text, New Font("Arial", 9), Brushes.White, New Rectangle(Width - _StringLength, 0, Width - _StringLength, Height - 1), _StringF)
- End Select
- End With
- End Sub
- End Class
- Class LoyalGroupBox
- Inherits ContainerControl
- #Region " Back End "
- #Region " Enums "
- Enum TextAlign
- Left = 0
- Center = 1
- Right = 2
- End Enum
- #End Region
- #Region " Properties "
- Private _HeaderSize As Integer = 35
- <Category("Header Properties")>
- Public Property HeaderSize() As Integer
- Get
- Return _HeaderSize
- End Get
- Set(ByVal value As Integer)
- _HeaderSize = value
- Invalidate()
- End Set
- End Property
- Private _HeaderColor As Color = Color.FromArgb(102, 51, 153)
- <Category("Header Properties")>
- Public Property HeaderColor() As Color
- Get
- Return _HeaderColor
- End Get
- Set(ByVal value As Color)
- _HeaderColor = value
- Invalidate()
- End Set
- End Property
- Private _TextAlignment As TextAlign = TextAlign.Left
- Public Property TextAlignment() As TextAlign
- Get
- Return _TextAlignment
- End Get
- Set(ByVal value As TextAlign)
- _TextAlignment = value
- End Set
- End Property
- #End Region
- Protected Overrides Sub OnCreateControl()
- MyBase.OnCreateControl()
- BackColor = Color.FromArgb(40, 40, 40)
- End Sub
- Sub New()
- Size = New Size(200, 100)
- End Sub
- #End Region
- Protected Overrides Sub OnPaint(e As PaintEventArgs)
- MyBase.OnPaint(e)
- Dim G = e.Graphics
- With G
- .Clear(Color.FromArgb(40, 40, 40))
- .FillRectangle(New SolidBrush(_HeaderColor), New Rectangle(5, 5, Width - 10, _HeaderSize - 5))
- .DrawLine(New Pen(Color.FromArgb(30, Color.White)), New Point(6, 5), New Point(Width - 6, 5))
- .FillRectangle(New SolidBrush(Color.FromArgb(35, 35, 35)), New Rectangle(0, 0, 1, 1))
- .FillRectangle(New SolidBrush(Color.FromArgb(35, 35, 35)), New Rectangle(Width - 1, 0, 1, 1))
- .DrawLine(New Pen(Color.FromArgb(70, Color.Black)), New Point(5, _HeaderSize), New Point(Width - 6, _HeaderSize))
- .DrawRectangle(New Pen(Color.FromArgb(18, 18, 18)), New Rectangle(0, 0, Width - 1, Height - 1))
- .FillRectangle(New SolidBrush(Color.FromArgb(40, 40, 40)), New Rectangle(5, 5, 1, 1))
- .FillRectangle(New SolidBrush(Color.FromArgb(40, 40, 40)), New Rectangle(Width - 6, 5, 1, 1))
- .FillRectangle(New SolidBrush(Color.FromArgb(35, 35, 35)), New Rectangle(0, 0, 1, 1))
- .FillRectangle(New SolidBrush(Color.FromArgb(35, 35, 35)), New Rectangle(0, Height - 1, 1, 1))
- .FillRectangle(New SolidBrush(Color.FromArgb(35, 35, 35)), New Rectangle(Width - 1, 0, 1, 1))
- .FillRectangle(New SolidBrush(Color.FromArgb(35, 35, 35)), New Rectangle(Width - 1, Height - 1, 1, 1))
- Dim _StringF As New StringFormat With {.LineAlignment = StringAlignment.Center}
- Select Case _TextAlignment
- Case TextAlign.Center
- _StringF.Alignment = StringAlignment.Center
- .DrawString(Text, New Font("Arial", 9), Brushes.White, New RectangleF(5, 5, Width - 10, _HeaderSize - 5), _StringF)
- Case TextAlign.Left
- .DrawString(Text, New Font("Arial", 9), Brushes.White, New RectangleF(12, 5, Width - 10, _HeaderSize - 5), _StringF)
- Case TextAlign.Right
- Dim _StringLength As Integer = TextRenderer.MeasureText(Text, New Font("Arial", 9)).Width + 8
- .DrawString(Text, New Font("Arial", 9), Brushes.White, New Rectangle(Width - _StringLength, 5, Width - _StringLength, _HeaderSize - 5), _StringF)
- End Select
- End With
- End Sub
- End Class
- <DefaultEvent("CheckedChanged")>
- Class LoyalRadioButton
- Inherits Control
- #Region " Back End "
- #Region " Declarations "
- Private _State As MouseState = MouseState.None
- Private _Checked As Boolean
- #End Region
- #Region " Properties "
- Property Checked() As Boolean
- Get
- Return _Checked
- End Get
- Set(value As Boolean)
- _Checked = value
- InvalidateControls()
- RaiseEvent CheckedChanged(Me)
- Invalidate()
- End Set
- End Property
- Event CheckedChanged(ByVal sender As Object)
- Protected Overrides Sub OnClick(e As EventArgs)
- If Not _Checked Then Checked = True
- MyBase.OnClick(e)
- End Sub
- Private Sub InvalidateControls()
- If Not IsHandleCreated OrElse Not _Checked Then Return
- For Each C As Control In Parent.Controls
- If C IsNot Me AndAlso TypeOf C Is LoyalRadioButton Then
- DirectCast(C, LoyalRadioButton).Checked = False
- Invalidate()
- End If
- Next
- End Sub
- ' Get more free themes at ThemesVB.NET
- Private _CheckedColor As Color = Color.FromArgb(102, 51, 153)
- <Category("Colors Settings")>
- Public Property CheckedColor() As Color
- Get
- Return _CheckedColor
- End Get
- Set(ByVal value As Color)
- _CheckedColor = value
- Invalidate()
- End Set
- End Property
- Protected Overrides Sub OnCreateControl()
- MyBase.OnCreateControl()
- InvalidateControls()
- End Sub
- Protected Overrides Sub OnResize(e As EventArgs)
- MyBase.OnResize(e)
- Height = 16
- End Sub
- #Region " Mouse States "
- Protected Overrides Sub OnMouseDown(e As MouseEventArgs)
- MyBase.OnMouseDown(e)
- _State = MouseState.Down
- Invalidate()
- End Sub
- Protected Overrides Sub OnMouseUp(e As MouseEventArgs)
- MyBase.OnMouseUp(e)
- _State = MouseState.Over
- Invalidate()
- End Sub
- Protected Overrides Sub OnMouseEnter(e As EventArgs)
- MyBase.OnMouseEnter(e)
- _State = MouseState.Over
- Invalidate()
- End Sub
- Protected Overrides Sub OnMouseLeave(e As EventArgs)
- MyBase.OnMouseLeave(e)
- _State = MouseState.None
- Invalidate()
- End Sub
- #End Region
- #End Region
- #End Region
- Protected Overrides Sub OnPaint(e As PaintEventArgs)
- MyBase.OnPaint(e)
- Dim G = e.Graphics
- G.SmoothingMode = SmoothingMode.AntiAlias
- G.Clear(Parent.BackColor)
- If Parent.BackColor = Color.FromArgb(40, 40, 40) Then
- G.FillEllipse(New SolidBrush(Color.FromArgb(35, 35, 35)), New Rectangle(0, 0, 13, 13))
- Else
- G.FillEllipse(New SolidBrush(Color.FromArgb(40, 40, 40)), New Rectangle(0, 0, 13, 13))
- End If
- G.DrawEllipse(New Pen(Color.FromArgb(18, 18, 18)), New Rectangle(0, 0, 13, 13))
- If Checked Then
- G.FillEllipse(New SolidBrush(_CheckedColor), New Rectangle(3, 3, 7, 7))
- End If
- G.DrawString(Text, New Font("Arial", 9), Brushes.White, New Point(18, 0))
- End Sub
- End Class
- <DefaultEvent("CheckedChanged")>
- Class LoyalCheckBox
- Inherits Control
- #Region " Back End "
- #Region " Declarations "
- Private _State As MouseState = MouseState.None
- Private _Checked As Boolean
- #End Region
- ' Get more free themes at ThemesVB.NET
- #Region " Properties "
- Property Checked() As Boolean
- Get
- Return _Checked
- End Get
- Set(value As Boolean)
- _Checked = value
- RaiseEvent CheckedChanged(Me)
- Invalidate()
- End Set
- End Property
- Event CheckedChanged(ByVal sender As Object)
- Protected Overrides Sub OnClick(e As EventArgs)
- If Not _Checked Then
- Checked = True
- Else
- Checked = False
- End If
- MyBase.OnClick(e)
- End Sub
- Private _CheckedColor As Color = Color.FromArgb(102, 51, 153)
- <Category("Colors Settings")>
- Public Property CheckedColor() As Color
- Get
- Return _CheckedColor
- End Get
- Set(ByVal value As Color)
- _CheckedColor = value
- Invalidate()
- End Set
- End Property
- Protected Overrides Sub OnResize(e As EventArgs)
- MyBase.OnResize(e)
- Height = 16
- End Sub
- #Region " Mouse States "
- Protected Overrides Sub OnMouseDown(e As MouseEventArgs)
- MyBase.OnMouseDown(e)
- _State = MouseState.Down
- Invalidate()
- End Sub
- Protected Overrides Sub OnMouseUp(e As MouseEventArgs)
- MyBase.OnMouseUp(e)
- _State = MouseState.Over
- Invalidate()
- End Sub
- Protected Overrides Sub OnMouseEnter(e As EventArgs)
- MyBase.OnMouseEnter(e)
- _State = MouseState.Over
- Invalidate()
- End Sub
- Protected Overrides Sub OnMouseLeave(e As EventArgs)
- MyBase.OnMouseLeave(e)
- _State = MouseState.None
- Invalidate()
- End Sub
- #End Region
- #End Region
- #End Region
- Protected Overrides Sub OnPaint(e As PaintEventArgs)
- MyBase.OnPaint(e)
- Dim G = e.Graphics
- G.Clear(Parent.BackColor)
- If Parent.BackColor = Color.FromArgb(40, 40, 40) Then
- G.FillRectangle(New SolidBrush(Color.FromArgb(35, 35, 35)), New Rectangle(0, 0, 13, 13))
- Else
- G.FillRectangle(New SolidBrush(Color.FromArgb(40, 40, 40)), New Rectangle(0, 0, 13, 13))
- End If
- G.DrawRectangle(New Pen(Color.FromArgb(18, 18, 18)), New Rectangle(0, 0, 13, 13))
- If Checked Then
- G.FillRectangle(New SolidBrush(_CheckedColor), New Rectangle(3, 3, 8, 8))
- End If
- G.DrawString(Text, New Font("Arial", 9), Brushes.White, New Point(18, 0))
- End Sub
- End Class
- Class LoyalProgressBar
- Inherits Control
- #Region " Back End "
- #Region " Variables "
- Private _Value As Integer = 0
- Private _Maximum As Integer = 100
- #End Region
- #Region " Control "
- <Category("Control")>
- Public Property Maximum() As Integer
- Get
- Return _Maximum
- End Get
- Set(V As Integer)
- Select Case V
- Case Is < _Value
- _Value = V
- End Select
- _Maximum = V
- Invalidate()
- End Set
- End Property
- <Category("Control")>
- Public Property Value() As Integer
- Get
- Select Case _Value
- Case 0
- Return 0
- Invalidate()
- Case Else
- Return _Value
- Invalidate()
- End Select
- End Get
- Set(V As Integer)
- Select Case V
- Case Is > _Maximum
- V = _Maximum
- Invalidate()
- End Select
- _Value = V
- Invalidate()
- End Set
- End Property
- #End Region
- #Region " Events "
- Protected Overrides Sub OnResize(e As EventArgs)
- MyBase.OnResize(e)
- Height = 25
- End Sub
- Protected Overrides Sub CreateHandle()
- MyBase.CreateHandle()
- Height = 25
- End Sub
- ' Get more free themes at ThemesVB.NET
- Public Sub Increment(ByVal Amount As Integer)
- Value += Amount
- End Sub
- #End Region
- #Region " Properties "
- Private _ProgressColor As Color = Color.FromArgb(102, 51, 153)
- <Category("Header Properties")>
- Public Property ProgressColor() As Color
- Get
- Return _ProgressColor
- End Get
- Set(ByVal value As Color)
- _ProgressColor = value
- Invalidate()
- End Set
- End Property
- #End Region
- Sub New()
- SetStyle(ControlStyles.AllPaintingInWmPaint Or ControlStyles.UserPaint Or
- ControlStyles.ResizeRedraw Or ControlStyles.OptimizedDoubleBuffer, True)
- DoubleBuffered = True
- End Sub
- #End Region
- Protected Overrides Sub OnPaint(e As PaintEventArgs)
- MyBase.OnPaint(e)
- Dim G = e.Graphics
- G.TextRenderingHint = TextRenderingHint.ClearTypeGridFit
- G.SmoothingMode = SmoothingMode.HighQuality
- G.PixelOffsetMode = PixelOffsetMode.HighQuality
- If Parent.BackColor = Color.FromArgb(40, 40, 40) Then
- G.Clear(Color.FromArgb(35, 35, 35))
- Else
- G.Clear(Color.FromArgb(40, 40, 40))
- End If
- Dim _Progress As Integer = CInt(_Value / _Maximum * Width)
- G.DrawRectangle(New Pen(Color.FromArgb(18, 18, 18)), 0, 0, Width, Height)
- G.FillRectangle(New SolidBrush(_ProgressColor), New Rectangle(0, 0, _Progress - 1, Height))
- G.DrawLine(New Pen(Color.FromArgb(30, Color.White)), New Point(0, 0), New Point(_Progress - 1, 0))
- G.FillRectangle(New SolidBrush(Color.FromArgb(35, 35, 35)), New Rectangle(0, 0, 1, 1))
- G.FillRectangle(New SolidBrush(Color.FromArgb(35, 35, 35)), New Rectangle(Width - 1, 0, 1, 1))
- G.DrawLine(New Pen(Color.FromArgb(70, Color.Black)), New Point(0, Height), New Point(_Progress - 1, Height))
- G.InterpolationMode = CType(7, InterpolationMode)
- End Sub
- End Class
- <DefaultEvent("TextChanged")>
- Class LoyalTextBox
- Inherits Control
- #Region " Back End "
- #Region " Variables "
- Private _State As MouseState = MouseState.None
- Private WithEvents TB As System.Windows.Forms.TextBox
- #End Region
- #Region " Properties "
- #Region " TextBox Properties "
- Private _TextAlign As HorizontalAlignment = HorizontalAlignment.Left
- <Category("Options")>
- Property TextAlign() As HorizontalAlignment
- Get
- Return _TextAlign
- End Get
- Set(ByVal value As HorizontalAlignment)
- _TextAlign = value
- If TB IsNot Nothing Then
- TB.TextAlign = value
- End If
- End Set
- End Property
- Private _MaxLength As Integer = 32767
- <Category("Options")>
- Property MaxLength() As Integer
- Get
- Return _MaxLength
- End Get
- Set(ByVal value As Integer)
- _MaxLength = value
- If TB IsNot Nothing Then
- TB.MaxLength = value
- End If
- End Set
- End Property
- Private _ReadOnly As Boolean
- <Category("Options")>
- Property [ReadOnly]() As Boolean
- Get
- Return _ReadOnly
- End Get
- Set(ByVal value As Boolean)
- _ReadOnly = value
- If TB IsNot Nothing Then
- TB.ReadOnly = value
- End If
- End Set
- End Property
- Private _UseSystemPasswordChar As Boolean
- <Category("Options")>
- Property UseSystemPasswordChar() As Boolean
- Get
- Return _UseSystemPasswordChar
- End Get
- Set(ByVal value As Boolean)
- _UseSystemPasswordChar = value
- If TB IsNot Nothing Then
- TB.UseSystemPasswordChar = value
- End If
- End Set
- End Property
- Private _Multiline As Boolean
- <Category("Options")>
- Property Multiline() As Boolean
- Get
- Return _Multiline
- End Get
- Set(ByVal value As Boolean)
- _Multiline = value
- If TB IsNot Nothing Then
- TB.Multiline = value
- If value Then
- TB.Height = Height - 11
- Else
- Height = TB.Height + 11
- End If
- End If
- End Set
- End Property
- <Category("Options")>
- Overrides Property Text As String
- Get
- Return MyBase.Text
- End Get
- Set(ByVal value As String)
- MyBase.Text = value
- If TB IsNot Nothing Then
- TB.Text = value
- End If
- End Set
- End Property
- <Category("Options")>
- Overrides Property Font As Font
- Get
- Return MyBase.Font
- End Get
- Set(ByVal value As Font)
- MyBase.Font = value
- If TB IsNot Nothing Then
- TB.Font = value
- TB.Location = New Point(3, 5)
- TB.Width = Width - 6
- If Not _Multiline Then
- Height = TB.Height + 11
- End If
- End If
- End Set
- End Property
- Protected Overrides Sub OnCreateControl()
- MyBase.OnCreateControl()
- If Not Controls.Contains(TB) Then
- Controls.Add(TB)
- End If
- End Sub
- Private Sub OnBaseTextChanged(ByVal s As Object, ByVal e As EventArgs)
- Text = TB.Text
- End Sub
- Private Sub OnBaseKeyDown(ByVal s As Object, ByVal e As KeyEventArgs)
- If e.Control AndAlso e.KeyCode = Keys.A Then
- TB.SelectAll()
- e.SuppressKeyPress = True
- End If
- If e.Control AndAlso e.KeyCode = Keys.C Then
- TB.Copy()
- e.SuppressKeyPress = True
- End If
- End Sub
- Protected Overrides Sub OnResize(ByVal e As EventArgs)
- TB.Location = New Point(5, 5)
- TB.Width = Width - 10
- If _Multiline Then
- TB.Height = Height - 11
- Else
- Height = TB.Height + 11
- End If
- MyBase.OnResize(e)
- End Sub
- #End Region
- #Region " Mouse States "
- ' Get more free themes at ThemesVB.NET
- Protected Overrides Sub OnMouseDown(e As MouseEventArgs)
- MyBase.OnMouseDown(e)
- _State = MouseState.Down
- Invalidate()
- End Sub
- Protected Overrides Sub OnMouseUp(e As MouseEventArgs)
- MyBase.OnMouseUp(e)
- _State = MouseState.Over
- TB.Focus()
- Invalidate()
- End Sub
- Protected Overrides Sub OnMouseEnter(e As EventArgs)
- MyBase.OnMouseEnter(e)
- _State = MouseState.Over
- TB.Focus()
- Invalidate()
- End Sub
- Protected Overrides Sub OnMouseLeave(e As EventArgs)
- MyBase.OnMouseLeave(e)
- _State = MouseState.None
- Invalidate()
- End Sub
- #End Region
- #End Region
- Sub New()
- SetStyle(ControlStyles.AllPaintingInWmPaint Or ControlStyles.UserPaint Or
- ControlStyles.ResizeRedraw Or ControlStyles.OptimizedDoubleBuffer Or
- ControlStyles.SupportsTransparentBackColor, True)
- DoubleBuffered = True
- BackColor = Color.Transparent
- TB = New System.Windows.Forms.TextBox
- TB.Font = New Font("Arial", 9)
- TB.Text = Text
- TB.BackColor = Color.FromArgb(40, 40, 40)
- TB.ForeColor = Color.White
- TB.MaxLength = _MaxLength
- TB.Multiline = _Multiline
- TB.ReadOnly = _ReadOnly
- TB.UseSystemPasswordChar = _UseSystemPasswordChar
- TB.BorderStyle = BorderStyle.None
- TB.Location = New Point(5, 5)
- TB.Width = Width - 10
- TB.Cursor = Cursors.IBeam
- If _Multiline Then
- TB.Height = Height - 11
- Else
- Height = TB.Height + 11
- End If
- AddHandler TB.TextChanged, AddressOf OnBaseTextChanged
- AddHandler TB.KeyDown, AddressOf OnBaseKeyDown
- End Sub
- #End Region
- Protected Overrides Sub OnPaint(e As PaintEventArgs)
- MyBase.OnPaint(e)
- Dim G = e.Graphics
- G.Clear(Color.FromArgb(40, 40, 40))
- G.DrawRectangle(New Pen(Color.FromArgb(24, 24, 24)), New Rectangle(0, 0, Width - 1, Height - 1))
- G.DrawRectangle(New Pen(Color.FromArgb(48, 48, 48)), New Rectangle(1, 1, Width - 3, Height - 3))
- G.FillRectangle(New SolidBrush(Color.FromArgb(35, 35, 35)), New Rectangle(0, 0, 1, 1))
- G.FillRectangle(New SolidBrush(Color.FromArgb(35, 35, 35)), New Rectangle(0, Height - 1, 1, 1))
- G.FillRectangle(New SolidBrush(Color.FromArgb(35, 35, 35)), New Rectangle(Width - 1, 0, 1, 1))
- G.FillRectangle(New SolidBrush(Color.FromArgb(35, 35, 35)), New Rectangle(Width - 1, Height - 1, 1, 1))
- End Sub
- End Class
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement