Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Imports System.Drawing.Drawing2D
- Imports System.ComponentModel
- Imports System.Runtime.InteropServices
- '.::VibeLander Theme::.
- 'Author: UnReLaTeDScript
- 'Credits: Aeonhack [Themebase]
- 'Version: 1.0
- MustInherit Class Theme
- Inherits ContainerControl
- #Region " Initialization "
- Protected G As Graphics
- Sub New()
- SetStyle(DirectCast(139270, ControlStyles), True)
- End Sub
- Private ParentIsForm As Boolean
- Protected Overrides Sub OnHandleCreated(ByVal e As EventArgs)
- Dock = DockStyle.Fill
- ParentIsForm = TypeOf Parent Is Form
- If ParentIsForm Then
- If Not _TransparencyKey = Color.Empty Then ParentForm.TransparencyKey = _TransparencyKey
- ParentForm.FormBorderStyle = FormBorderStyle.None
- End If
- MyBase.OnHandleCreated(e)
- End Sub
- Overrides Property Text() As String
- Get
- Return MyBase.Text
- End Get
- Set(ByVal v As String)
- MyBase.Text = v
- Invalidate()
- End Set
- End Property
- #End Region
- #Region " Sizing and Movement "
- Private _Resizable As Boolean = True
- Property Resizable() As Boolean
- Get
- Return _Resizable
- End Get
- Set(ByVal value As Boolean)
- _Resizable = value
- End Set
- End Property
- Private _MoveHeight As Integer = 24
- Property MoveHeight() As Integer
- Get
- Return _MoveHeight
- End Get
- Set(ByVal v As Integer)
- _MoveHeight = v
- Header = New Rectangle(7, 7, Width - 14, _MoveHeight - 7)
- End Set
- End Property
- Private Flag As IntPtr
- Protected Overrides Sub OnMouseDown(ByVal e As MouseEventArgs)
- If Not e.Button = MouseButtons.Left Then Return
- If ParentIsForm Then If ParentForm.WindowState = FormWindowState.Maximized Then Return
- If Header.Contains(e.Location) Then
- Flag = New IntPtr(2)
- ElseIf Current.Position = 0 Or Not _Resizable Then
- Return
- Else
- Flag = New IntPtr(Current.Position)
- End If
- Capture = False
- DefWndProc(Message.Create(Parent.Handle, 161, Flag, Nothing))
- MyBase.OnMouseDown(e)
- End Sub
- Private Structure Pointer
- ReadOnly Cursor As Cursor, Position As Byte
- Sub New(ByVal c As Cursor, ByVal p As Byte)
- Cursor = c
- Position = p
- End Sub
- End Structure
- Private F1, F2, F3, F4 As Boolean, PTC As Point
- Private Function GetPointer() As Pointer
- PTC = PointToClient(MousePosition)
- F1 = PTC.X < 7
- F2 = PTC.X > Width - 7
- F3 = PTC.Y < 7
- F4 = PTC.Y > Height - 7
- If F1 And F3 Then Return New Pointer(Cursors.SizeNWSE, 13)
- If F1 And F4 Then Return New Pointer(Cursors.SizeNESW, 16)
- If F2 And F3 Then Return New Pointer(Cursors.SizeNESW, 14)
- If F2 And F4 Then Return New Pointer(Cursors.SizeNWSE, 17)
- If F1 Then Return New Pointer(Cursors.SizeWE, 10)
- If F2 Then Return New Pointer(Cursors.SizeWE, 11)
- If F3 Then Return New Pointer(Cursors.SizeNS, 12)
- If F4 Then Return New Pointer(Cursors.SizeNS, 15)
- Return New Pointer(Cursors.Default, 0)
- End Function
- Private Current, Pending As Pointer
- Private Sub SetCurrent()
- Pending = GetPointer()
- If Current.Position = Pending.Position Then Return
- Current = GetPointer()
- Cursor = Current.Cursor
- End Sub
- Protected Overrides Sub OnMouseMove(ByVal e As MouseEventArgs)
- If _Resizable Then SetCurrent()
- MyBase.OnMouseMove(e)
- End Sub
- Protected Header As Rectangle
- Protected Overrides Sub OnSizeChanged(ByVal e As EventArgs)
- If Width = 0 OrElse Height = 0 Then Return
- Header = New Rectangle(7, 7, Width - 14, _MoveHeight - 7)
- Invalidate()
- MyBase.OnSizeChanged(e)
- End Sub
- #End Region
- #Region " Convienence "
- MustOverride Sub PaintHook()
- Protected NotOverridable Overrides Sub OnPaint(ByVal e As PaintEventArgs)
- If Width = 0 OrElse Height = 0 Then Return
- G = e.Graphics
- PaintHook()
- End Sub
- Private _TransparencyKey As Color
- Property TransparencyKey() As Color
- Get
- Return _TransparencyKey
- End Get
- Set(ByVal v As Color)
- _TransparencyKey = v
- Invalidate()
- End Set
- End Property
- Private _Image As Image
- Property Image() As Image
- Get
- Return _Image
- End Get
- Set(ByVal value As Image)
- _Image = value
- Invalidate()
- End Set
- End Property
- ReadOnly Property ImageWidth() As Integer
- Get
- If _Image Is Nothing Then Return 0
- Return _Image.Width
- End Get
- End Property
- Private _Size As Size
- Private _Rectangle As Rectangle
- Private _Gradient As LinearGradientBrush
- Private _Brush As SolidBrush
- Protected Sub DrawCorners(ByVal c As Color, ByVal rect As Rectangle)
- _Brush = New SolidBrush(c)
- G.FillRectangle(_Brush, rect.X, rect.Y, 1, 1)
- G.FillRectangle(_Brush, rect.X + (rect.Width - 1), rect.Y, 1, 1)
- G.FillRectangle(_Brush, rect.X, rect.Y + (rect.Height - 1), 1, 1)
- G.FillRectangle(_Brush, rect.X + (rect.Width - 1), rect.Y + (rect.Height - 1), 1, 1)
- End Sub
- Protected Sub DrawBorders(ByVal p1 As Pen, ByVal p2 As Pen, ByVal rect As Rectangle)
- G.DrawRectangle(p1, rect.X, rect.Y, rect.Width - 1, rect.Height - 1)
- G.DrawRectangle(p2, rect.X + 1, rect.Y + 1, rect.Width - 3, rect.Height - 3)
- End Sub
- Protected Sub DrawText(ByVal a As HorizontalAlignment, ByVal c As Color, ByVal x As Integer)
- DrawText(a, c, x, 0)
- End Sub
- Protected Sub DrawText(ByVal a As HorizontalAlignment, ByVal c As Color, ByVal x As Integer, ByVal y As Integer)
- If String.IsNullOrEmpty(Text) Then Return
- _Size = G.MeasureString(Text, Font).ToSize
- _Brush = New SolidBrush(c)
- Select Case a
- Case HorizontalAlignment.Left
- G.DrawString(Text, Font, _Brush, x, _MoveHeight \ 2 - _Size.Height \ 2 + y)
- Case HorizontalAlignment.Right
- G.DrawString(Text, Font, _Brush, Width - _Size.Width - x, _MoveHeight \ 2 - _Size.Height \ 2 + y)
- Case HorizontalAlignment.Center
- G.DrawString(Text, Font, _Brush, Width \ 2 - _Size.Width \ 2 + x, _MoveHeight \ 2 - _Size.Height \ 2 + y)
- End Select
- End Sub
- Protected Sub DrawIcon(ByVal a As HorizontalAlignment, ByVal x As Integer)
- DrawIcon(a, x, 0)
- End Sub
- Protected Sub DrawIcon(ByVal a As HorizontalAlignment, ByVal x As Integer, ByVal y As Integer)
- If _Image Is Nothing Then Return
- Select Case a
- Case HorizontalAlignment.Left
- G.DrawImage(_Image, x, _MoveHeight \ 2 - _Image.Height \ 2 + y)
- Case HorizontalAlignment.Right
- G.DrawImage(_Image, Width - _Image.Width - x, _MoveHeight \ 2 - _Image.Height \ 2 + y)
- Case HorizontalAlignment.Center
- G.DrawImage(_Image, Width \ 2 - _Image.Width \ 2, _MoveHeight \ 2 - _Image.Height \ 2)
- End Select
- End Sub
- Protected Sub DrawGradient(ByVal c1 As Color, ByVal c2 As Color, ByVal x As Integer, ByVal y As Integer, ByVal width As Integer, ByVal height As Integer, ByVal angle As Single)
- _Rectangle = New Rectangle(x, y, width, height)
- _Gradient = New LinearGradientBrush(_Rectangle, c1, c2, angle)
- G.FillRectangle(_Gradient, _Rectangle)
- End Sub
- #End Region
- End Class
- Module Draw
- Public Function RoundRect(ByVal Rectangle As Rectangle, ByVal Curve As Integer) As GraphicsPath
- Dim P As GraphicsPath = New GraphicsPath()
- Dim ArcRectangleWidth As Integer = Curve * 2
- P.AddArc(New Rectangle(Rectangle.X, Rectangle.Y, ArcRectangleWidth, ArcRectangleWidth), -180, 90)
- P.AddArc(New Rectangle(Rectangle.Width - ArcRectangleWidth + Rectangle.X, Rectangle.Y, ArcRectangleWidth, ArcRectangleWidth), -90, 90)
- P.AddArc(New Rectangle(Rectangle.Width - ArcRectangleWidth + Rectangle.X, Rectangle.Height - ArcRectangleWidth + Rectangle.Y, ArcRectangleWidth, ArcRectangleWidth), 0, 90)
- P.AddArc(New Rectangle(Rectangle.X, Rectangle.Height - ArcRectangleWidth + Rectangle.Y, ArcRectangleWidth, ArcRectangleWidth), 90, 90)
- P.AddLine(New Point(Rectangle.X, Rectangle.Height - ArcRectangleWidth + Rectangle.Y), New Point(Rectangle.X, Curve + Rectangle.Y))
- Return P
- End Function
- 'Public Function RoundRect(ByVal X As Integer, ByVal Y As Integer, ByVal Width As Integer, ByVal Height As Integer, ByVal Curve As Integer) As GraphicsPath
- ' Dim Rectangle As Rectangle = New Rectangle(X, Y, Width, Height)
- ' Dim P As GraphicsPath = New GraphicsPath()
- ' Dim ArcRectangleWidth As Integer = Curve * 2
- ' P.AddArc(New Rectangle(Rectangle.X, Rectangle.Y, ArcRectangleWidth, ArcRectangleWidth), -180, 90)
- ' P.AddArc(New Rectangle(Rectangle.Width - ArcRectangleWidth + Rectangle.X, Rectangle.Y, ArcRectangleWidth, ArcRectangleWidth), -90, 90)
- ' P.AddArc(New Rectangle(Rectangle.Width - ArcRectangleWidth + Rectangle.X, Rectangle.Height - ArcRectangleWidth + Rectangle.Y, ArcRectangleWidth, ArcRectangleWidth), 0, 90)
- ' P.AddArc(New Rectangle(Rectangle.X, Rectangle.Height - ArcRectangleWidth + Rectangle.Y, ArcRectangleWidth, ArcRectangleWidth), 90, 90)
- ' P.AddLine(New Point(Rectangle.X, Rectangle.Height - ArcRectangleWidth + Rectangle.Y), New Point(Rectangle.X, Curve + Rectangle.Y))
- ' Return P
- 'End Function
- End Module
- MustInherit Class ThemeControl
- Inherits Control
- #Region " Initialization "
- Protected G As Graphics, B As Bitmap
- Sub New()
- SetStyle(DirectCast(139270, ControlStyles), True)
- B = New Bitmap(1, 1)
- G = Graphics.FromImage(B)
- End Sub
- Sub AllowTransparent()
- SetStyle(ControlStyles.Opaque, False)
- SetStyle(ControlStyles.SupportsTransparentBackColor, True)
- End Sub
- Overrides Property Text() As String
- Get
- Return MyBase.Text
- End Get
- Set(ByVal v As String)
- MyBase.Text = v
- Invalidate()
- End Set
- End Property
- #End Region
- #Region " Mouse Handling "
- Protected Enum State As Byte
- MouseNone = 0
- MouseOver = 1
- MouseDown = 2
- End Enum
- Protected MouseState As State
- Protected Overrides Sub OnMouseLeave(ByVal e As EventArgs)
- ChangeMouseState(State.MouseNone)
- MyBase.OnMouseLeave(e)
- End Sub
- Protected Overrides Sub OnMouseEnter(ByVal e As EventArgs)
- ChangeMouseState(State.MouseOver)
- MyBase.OnMouseEnter(e)
- End Sub
- Protected Overrides Sub OnMouseUp(ByVal e As MouseEventArgs)
- ChangeMouseState(State.MouseOver)
- MyBase.OnMouseUp(e)
- End Sub
- Protected Overrides Sub OnMouseDown(ByVal e As MouseEventArgs)
- If e.Button = MouseButtons.Left Then ChangeMouseState(State.MouseDown)
- MyBase.OnMouseDown(e)
- End Sub
- Private Sub ChangeMouseState(ByVal e As State)
- MouseState = e
- Invalidate()
- End Sub
- #End Region
- #Region " Convienence "
- MustOverride Sub PaintHook()
- Protected NotOverridable Overrides Sub OnPaint(ByVal e As PaintEventArgs)
- If Width = 0 OrElse Height = 0 Then Return
- PaintHook()
- e.Graphics.DrawImage(B, 0, 0)
- End Sub
- Protected Overrides Sub OnSizeChanged(ByVal e As EventArgs)
- If Not Width = 0 AndAlso Not Height = 0 Then
- B = New Bitmap(Width, Height)
- G = Graphics.FromImage(B)
- Invalidate()
- End If
- MyBase.OnSizeChanged(e)
- End Sub
- Private _NoRounding As Boolean
- Property NoRounding() As Boolean
- Get
- Return _NoRounding
- End Get
- Set(ByVal v As Boolean)
- _NoRounding = v
- Invalidate()
- End Set
- End Property
- Private _Image As Image
- Property Image() As Image
- Get
- Return _Image
- End Get
- Set(ByVal value As Image)
- _Image = value
- Invalidate()
- End Set
- End Property
- ReadOnly Property ImageWidth() As Integer
- Get
- If _Image Is Nothing Then Return 0
- Return _Image.Width
- End Get
- End Property
- ReadOnly Property ImageTop() As Integer
- Get
- If _Image Is Nothing Then Return 0
- Return Height \ 2 - _Image.Height \ 2
- End Get
- End Property
- Private _Size As Size
- Private _Rectangle As Rectangle
- Private _Gradient As LinearGradientBrush
- Private _Brush As SolidBrush
- Protected Sub DrawCorners(ByVal c As Color, ByVal rect As Rectangle)
- If _NoRounding Then Return
- B.SetPixel(rect.X, rect.Y, c)
- B.SetPixel(rect.X + (rect.Width - 1), rect.Y, c)
- B.SetPixel(rect.X, rect.Y + (rect.Height - 1), c)
- B.SetPixel(rect.X + (rect.Width - 1), rect.Y + (rect.Height - 1), c)
- End Sub
- Protected Sub DrawBorders(ByVal p1 As Pen, ByVal p2 As Pen, ByVal rect As Rectangle)
- G.DrawRectangle(p1, rect.X, rect.Y, rect.Width - 1, rect.Height - 1)
- G.DrawRectangle(p2, rect.X + 1, rect.Y + 1, rect.Width - 3, rect.Height - 3)
- End Sub
- Protected Sub DrawText(ByVal a As HorizontalAlignment, ByVal c As Color, ByVal x As Integer)
- DrawText(a, c, x, 0)
- End Sub
- Protected Sub DrawText(ByVal a As HorizontalAlignment, ByVal c As Color, ByVal x As Integer, ByVal y As Integer)
- If String.IsNullOrEmpty(Text) Then Return
- _Size = G.MeasureString(Text, Font).ToSize
- _Brush = New SolidBrush(c)
- Select Case a
- Case HorizontalAlignment.Left
- G.DrawString(Text, Font, _Brush, x, Height \ 2 - _Size.Height \ 2 + y)
- Case HorizontalAlignment.Right
- G.DrawString(Text, Font, _Brush, Width - _Size.Width - x, Height \ 2 - _Size.Height \ 2 + y)
- Case HorizontalAlignment.Center
- G.DrawString(Text, Font, _Brush, Width \ 2 - _Size.Width \ 2 + x, Height \ 2 - _Size.Height \ 2 + y)
- End Select
- End Sub
- Protected Sub DrawIcon(ByVal a As HorizontalAlignment, ByVal x As Integer)
- DrawIcon(a, x, 0)
- End Sub
- Protected Sub DrawIcon(ByVal a As HorizontalAlignment, ByVal x As Integer, ByVal y As Integer)
- If _Image Is Nothing Then Return
- Select Case a
- Case HorizontalAlignment.Left
- G.DrawImage(_Image, x, Height \ 2 - _Image.Height \ 2 + y)
- Case HorizontalAlignment.Right
- G.DrawImage(_Image, Width - _Image.Width - x, Height \ 2 - _Image.Height \ 2 + y)
- Case HorizontalAlignment.Center
- G.DrawImage(_Image, Width \ 2 - _Image.Width \ 2, Height \ 2 - _Image.Height \ 2)
- End Select
- End Sub
- Protected Sub DrawGradient(ByVal c1 As Color, ByVal c2 As Color, ByVal x As Integer, ByVal y As Integer, ByVal width As Integer, ByVal height As Integer, ByVal angle As Single)
- _Rectangle = New Rectangle(x, y, width, height)
- _Gradient = New LinearGradientBrush(_Rectangle, c1, c2, angle)
- G.FillRectangle(_Gradient, _Rectangle)
- End Sub
- #End Region
- End Class
- MustInherit Class ThemeContainerControl
- Inherits ContainerControl
- #Region " Initialization "
- Protected G As Graphics, B As Bitmap
- Sub New()
- SetStyle(DirectCast(139270, ControlStyles), True)
- B = New Bitmap(1, 1)
- G = Graphics.FromImage(B)
- End Sub
- Sub AllowTransparent()
- SetStyle(ControlStyles.Opaque, False)
- SetStyle(ControlStyles.SupportsTransparentBackColor, True)
- End Sub
- #End Region
- #Region " Convienence "
- MustOverride Sub PaintHook()
- Protected NotOverridable Overrides Sub OnPaint(ByVal e As PaintEventArgs)
- If Width = 0 OrElse Height = 0 Then Return
- PaintHook()
- e.Graphics.DrawImage(B, 0, 0)
- End Sub
- Protected Overrides Sub OnSizeChanged(ByVal e As EventArgs)
- If Not Width = 0 AndAlso Not Height = 0 Then
- B = New Bitmap(Width, Height)
- G = Graphics.FromImage(B)
- Invalidate()
- End If
- MyBase.OnSizeChanged(e)
- End Sub
- Private _NoRounding As Boolean
- Property NoRounding() As Boolean
- Get
- Return _NoRounding
- End Get
- Set(ByVal v As Boolean)
- _NoRounding = v
- Invalidate()
- End Set
- End Property
- Private _Rectangle As Rectangle
- Private _Gradient As LinearGradientBrush
- Protected Sub DrawCorners(ByVal c As Color, ByVal rect As Rectangle)
- If _NoRounding Then Return
- B.SetPixel(rect.X, rect.Y, c)
- B.SetPixel(rect.X + (rect.Width - 1), rect.Y, c)
- B.SetPixel(rect.X, rect.Y + (rect.Height - 1), c)
- B.SetPixel(rect.X + (rect.Width - 1), rect.Y + (rect.Height - 1), c)
- End Sub
- Protected Sub DrawBorders(ByVal p1 As Pen, ByVal p2 As Pen, ByVal rect As Rectangle)
- G.DrawRectangle(p1, rect.X, rect.Y, rect.Width - 1, rect.Height - 1)
- G.DrawRectangle(p2, rect.X + 1, rect.Y + 1, rect.Width - 3, rect.Height - 3)
- End Sub
- Protected Sub DrawGradient(ByVal c1 As Color, ByVal c2 As Color, ByVal x As Integer, ByVal y As Integer, ByVal width As Integer, ByVal height As Integer, ByVal angle As Single)
- _Rectangle = New Rectangle(x, y, width, height)
- _Gradient = New LinearGradientBrush(_Rectangle, c1, c2, angle)
- G.FillRectangle(_Gradient, _Rectangle)
- End Sub
- #End Region
- End Class
- Class TxtBox
- Inherits ThemeControl
- Dim WithEvents txtbox As New TextBox
- #Region "lol"
- Private _passmask As Boolean = False
- Public Shadows Property UseSystemPasswordChar() As Boolean
- Get
- Return _passmask
- End Get
- Set(ByVal v As Boolean)
- txtbox.UseSystemPasswordChar = UseSystemPasswordChar
- _passmask = v
- Invalidate()
- End Set
- End Property
- Private _maxchars As Integer = 32767
- Public Shadows Property MaxLength() As Integer
- Get
- Return _maxchars
- End Get
- Set(ByVal v As Integer)
- _maxchars = v
- txtbox.MaxLength = MaxLength
- Invalidate()
- End Set
- End Property
- Private _align As HorizontalAlignment
- Public Shadows Property TextAlignment() As HorizontalAlignment
- Get
- Return _align
- End Get
- Set(ByVal v As HorizontalAlignment)
- _align = v
- Invalidate()
- End Set
- End Property
- Protected Overrides Sub OnPaintBackground(ByVal pevent As System.Windows.Forms.PaintEventArgs)
- End Sub
- Protected Overrides Sub OnTextChanged(ByVal e As System.EventArgs)
- MyBase.OnTextChanged(e)
- Invalidate()
- End Sub
- Protected Overrides Sub OnBackColorChanged(ByVal e As System.EventArgs)
- MyBase.OnBackColorChanged(e)
- txtbox.BackColor = BackColor
- Invalidate()
- End Sub
- Protected Overrides Sub OnForeColorChanged(ByVal e As System.EventArgs)
- MyBase.OnForeColorChanged(e)
- txtbox.ForeColor = ForeColor
- Invalidate()
- End Sub
- Protected Overrides Sub OnFontChanged(ByVal e As System.EventArgs)
- MyBase.OnFontChanged(e)
- txtbox.Font = Font
- End Sub
- Protected Overrides Sub OnGotFocus(ByVal e As System.EventArgs)
- MyBase.OnGotFocus(e)
- txtbox.Focus()
- End Sub
- Sub TextChngTxtBox() Handles txtbox.TextChanged
- Text = txtbox.Text
- End Sub
- Sub TextChng() Handles MyBase.TextChanged
- txtbox.Text = Text
- End Sub
- #End Region
- Protected Overrides Sub WndProc(ByRef m As Message)
- Select Case m.Msg
- Case 15
- Invalidate()
- MyBase.WndProc(m)
- Me.PaintHook()
- Exit Select
- Case Else
- MyBase.WndProc(m)
- Exit Select
- End Select
- End Sub
- Sub New()
- MyBase.New()
- Controls.Add(txtbox)
- With txtbox
- .Multiline = False
- .BackColor = Color.FromArgb(0, 0, 0)
- .ForeColor = ForeColor
- .Text = String.Empty
- .TextAlign = HorizontalAlignment.Center
- .BorderStyle = BorderStyle.None
- .Location = New Point(5, 8)
- .Font = New Font("Arial", 8.25F, FontStyle.Bold)
- .Size = New Size(Width - 8, Height - 11)
- .UseSystemPasswordChar = UseSystemPasswordChar
- End With
- Text = ""
- DoubleBuffered = True
- End Sub
- Overrides Sub PaintHook()
- Me.BackColor = Color.White
- G.Clear(Parent.BackColor)
- Dim p As New Pen(Color.FromArgb(204, 204, 204), 1)
- Dim o As New Pen(Color.FromArgb(252, 252, 252), 7)
- G.FillPath(Brushes.White, Draw.RoundRect(New Rectangle(0, 0, Width - 1, Height - 1), 2))
- G.DrawPath(o, Draw.RoundRect(New Rectangle(0, 0, Width - 1, Height - 1), 2))
- G.DrawPath(p, Draw.RoundRect(New Rectangle(0, 0, Width - 1, Height - 1), 2))
- Height = txtbox.Height + 16
- Dim drawFont As New Font("Tahoma", 9, FontStyle.Regular)
- With txtbox
- .Width = Width - 12
- .ForeColor = Color.FromArgb(72, 72, 72)
- .Font = drawFont
- .TextAlign = TextAlignment
- .UseSystemPasswordChar = UseSystemPasswordChar
- End With
- DrawCorners(Parent.BackColor, ClientRectangle)
- End Sub
- End Class
- Class MultiTxtBox
- Inherits ThemeControl
- Dim WithEvents txtbox As New TextBox
- #Region "lol"
- Private _passmask As Boolean = False
- Public Shadows Property UseSystemPasswordChar() As Boolean
- Get
- Return _passmask
- End Get
- Set(ByVal v As Boolean)
- txtbox.UseSystemPasswordChar = UseSystemPasswordChar
- _passmask = v
- Invalidate()
- End Set
- End Property
- Private _maxchars As Integer = 32767
- Public Shadows Property MaxLength() As Integer
- Get
- Return _maxchars
- End Get
- Set(ByVal v As Integer)
- _maxchars = v
- txtbox.MaxLength = MaxLength
- Invalidate()
- End Set
- End Property
- Private _align As HorizontalAlignment
- Public Shadows Property TextAlignment() As HorizontalAlignment
- Get
- Return _align
- End Get
- Set(ByVal v As HorizontalAlignment)
- _align = v
- Invalidate()
- End Set
- End Property
- Protected Overrides Sub OnPaintBackground(ByVal pevent As System.Windows.Forms.PaintEventArgs)
- End Sub
- Protected Overrides Sub OnTextChanged(ByVal e As System.EventArgs)
- MyBase.OnTextChanged(e)
- Invalidate()
- End Sub
- Protected Overrides Sub OnBackColorChanged(ByVal e As System.EventArgs)
- MyBase.OnBackColorChanged(e)
- txtbox.BackColor = BackColor
- Invalidate()
- End Sub
- Protected Overrides Sub OnForeColorChanged(ByVal e As System.EventArgs)
- MyBase.OnForeColorChanged(e)
- txtbox.ForeColor = ForeColor
- Invalidate()
- End Sub
- Protected Overrides Sub OnFontChanged(ByVal e As System.EventArgs)
- MyBase.OnFontChanged(e)
- txtbox.Font = Font
- End Sub
- Protected Overrides Sub OnGotFocus(ByVal e As System.EventArgs)
- MyBase.OnGotFocus(e)
- txtbox.Focus()
- End Sub
- Sub TextChngTxtBox() Handles TxtBox.TextChanged
- Text = txtbox.Text
- End Sub
- Sub TextChng() Handles MyBase.TextChanged
- txtbox.Text = Text
- End Sub
- #End Region
- Protected Overrides Sub WndProc(ByRef m As Message)
- Select Case m.Msg
- Case 15
- Invalidate()
- MyBase.WndProc(m)
- Me.PaintHook()
- Exit Select
- Case Else
- MyBase.WndProc(m)
- Exit Select
- End Select
- End Sub
- Sub New()
- MyBase.New()
- Controls.Add(txtbox)
- With txtbox
- .ScrollBars = ScrollBars.Vertical
- .Multiline = True
- .BackColor = Color.FromArgb(0, 0, 0)
- .ForeColor = ForeColor
- .Text = String.Empty
- .TextAlign = HorizontalAlignment.Center
- .BorderStyle = BorderStyle.None
- .Location = New Point(5, 8)
- .Font = New Font("Arial", 8.25F, FontStyle.Bold)
- .Size = New Size(Width - 8, Height - 11)
- .UseSystemPasswordChar = UseSystemPasswordChar
- End With
- Text = ""
- DoubleBuffered = True
- End Sub
- Overrides Sub PaintHook()
- Me.BackColor = Color.White
- G.Clear(Parent.BackColor)
- Dim p As New Pen(Color.FromArgb(204, 204, 204), 1)
- Dim o As New Pen(Color.FromArgb(252, 252, 252), 7)
- G.FillPath(Brushes.White, Draw.RoundRect(New Rectangle(0, 0, Width - 1, Height - 1), 2))
- G.DrawPath(o, Draw.RoundRect(New Rectangle(0, 0, Width - 1, Height - 1), 2))
- G.DrawPath(p, Draw.RoundRect(New Rectangle(0, 0, Width - 1, Height - 1), 2))
- Dim drawFont As New Font("Tahoma", 9, FontStyle.Regular)
- With txtbox
- .Size = New Size(Width - 10, Height - 14)
- .ForeColor = Color.FromArgb(72, 72, 72)
- .Font = drawFont
- .TextAlign = TextAlignment
- .UseSystemPasswordChar = UseSystemPasswordChar
- End With
- DrawCorners(Parent.BackColor, ClientRectangle)
- End Sub
- End Class
- Class PanelBox
- Inherits ThemeContainerControl
- Private _Checked As Boolean
- Sub New()
- AllowTransparent()
- End Sub
- Overrides Sub PaintHook()
- Me.Font = New Font("Tahoma", 10)
- Me.ForeColor = Color.FromArgb(40, 40, 40)
- G.SmoothingMode = SmoothingMode.AntiAlias
- G.FillRectangle(New SolidBrush(Color.FromArgb(235, 235, 235)), New Rectangle(2, 0, Width, Height))
- G.FillRectangle(New SolidBrush(Color.FromArgb(249, 249, 249)), New Rectangle(1, 0, Width - 3, Height - 4))
- G.DrawRectangle(New Pen(Color.FromArgb(214, 214, 214)), 0, 0, Width - 2, Height - 3)
- End Sub
- End Class
- Class GroupDropBox
- Inherits ThemeContainerControl
- Private _Checked As Boolean
- Private X As Integer
- Private y As Integer
- Private _OpenedSize As Size
- Public Property Checked As Boolean
- Get
- Return _Checked
- End Get
- Set(ByVal V As Boolean)
- _Checked = V
- Invalidate()
- End Set
- End Property
- Public Property OpenSize As Size
- Get
- Return _OpenedSize
- End Get
- Set(ByVal V As Size)
- _OpenedSize = V
- Invalidate()
- End Set
- End Property
- Sub New()
- AllowTransparent()
- Size = New Size(90, 30)
- MinimumSize = New Size(5, 30)
- _Checked = True
- End Sub
- Overrides Sub PaintHook()
- Me.Font = New Font("Tahoma", 10)
- Me.ForeColor = Color.FromArgb(40, 40, 40)
- If _Checked = True Then
- G.SmoothingMode = SmoothingMode.AntiAlias
- G.Clear(Color.FromArgb(245, 245, 245))
- G.FillRectangle(New SolidBrush(Color.FromArgb(231, 231, 231)), New Rectangle(0, 0, Width, 30))
- G.DrawLine(New Pen(Color.FromArgb(237, 237, 237)), 1, 1, Width - 2, 1)
- G.DrawRectangle(New Pen(Color.FromArgb(214, 214, 214)), 0, 0, Width - 1, Height - 1)
- G.DrawRectangle(New Pen(Color.FromArgb(214, 214, 214)), 0, 0, Width - 1, 30)
- Me.Size = _OpenedSize
- G.DrawString("t", New Font("Marlett", 12), New SolidBrush(Me.ForeColor), Width - 25, 5)
- Else
- G.SmoothingMode = SmoothingMode.AntiAlias
- G.Clear(Color.FromArgb(245, 245, 245))
- G.FillRectangle(New SolidBrush(Color.FromArgb(231, 231, 231)), New Rectangle(0, 0, Width, 30))
- G.DrawLine(New Pen(Color.FromArgb(237, 237, 237)), 1, 1, Width - 2, 1)
- G.DrawRectangle(New Pen(Color.FromArgb(214, 214, 214)), 0, 0, Width - 1, Height - 1)
- G.DrawRectangle(New Pen(Color.FromArgb(214, 214, 214)), 0, 0, Width - 1, 30)
- Me.Size = New Size(Width, 30)
- G.DrawString("u", New Font("Marlett", 12), New SolidBrush(Me.ForeColor), Width - 25, 5)
- End If
- G.DrawString(Text, Font, New SolidBrush(Me.ForeColor), 7, 6)
- End Sub
- Private Sub meResize(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Resize
- If _Checked = True Then
- _OpenedSize = Me.Size
- Else
- End If
- End Sub
- Protected Overrides Sub OnMouseMove(ByVal e As System.Windows.Forms.MouseEventArgs)
- MyBase.OnMouseMove(e)
- X = e.X
- y = e.Y
- Invalidate()
- End Sub
- Sub changeCheck() Handles Me.MouseDown
- If X >= Width - 22 Then
- If y <= 30 Then
- Select Case Checked
- Case True
- Checked = False
- Case False
- Checked = True
- End Select
- End If
- End If
- End Sub
- End Class
- Class GroupPanelBox
- Inherits ThemeContainerControl
- Private _Checked As Boolean
- Sub New()
- AllowTransparent()
- End Sub
- Overrides Sub PaintHook()
- Me.Font = New Font("Tahoma", 10)
- Me.ForeColor = Color.FromArgb(40, 40, 40)
- G.SmoothingMode = SmoothingMode.AntiAlias
- G.Clear(Color.FromArgb(245, 245, 245))
- G.FillRectangle(New SolidBrush(Color.FromArgb(231, 231, 231)), New Rectangle(0, 0, Width, 30))
- G.DrawLine(New Pen(Color.FromArgb(233, 238, 240)), 1, 1, Width - 2, 1)
- G.DrawRectangle(New Pen(Color.FromArgb(214, 214, 214)), 0, 0, Width - 1, Height - 1)
- G.DrawRectangle(New Pen(Color.FromArgb(214, 214, 214)), 0, 0, Width - 1, 30)
- G.DrawString(Text, Font, New SolidBrush(Me.ForeColor), 7, 6)
- End Sub
- End Class
- Class ButtonGreen
- Inherits ThemeControl
- Overrides Sub PaintHook()
- Me.Font = New Font("Arial", 10)
- G.Clear(Me.BackColor)
- G.SmoothingMode = SmoothingMode.HighQuality
- Select Case MouseState
- Case State.MouseNone
- Dim p As New Pen(Color.FromArgb(120, 159, 22), 1)
- Dim x As New LinearGradientBrush(ClientRectangle, Color.FromArgb(157, 209, 57), Color.FromArgb(130, 181, 18), LinearGradientMode.Vertical)
- G.FillPath(x, Draw.RoundRect(ClientRectangle, 4))
- G.DrawPath(p, Draw.RoundRect(New Rectangle(0, 0, Width - 1, Height - 1), 3))
- G.DrawLine(New Pen(Color.FromArgb(190, 232, 109)), 2, 1, Width - 3, 1)
- DrawText(HorizontalAlignment.Center, Color.FromArgb(240, 240, 240), 0)
- Case State.MouseDown
- Dim p As New Pen(Color.FromArgb(120, 159, 22), 1)
- Dim x As New LinearGradientBrush(ClientRectangle, Color.FromArgb(125, 171, 25), Color.FromArgb(142, 192, 40), LinearGradientMode.Vertical)
- G.FillPath(x, Draw.RoundRect(ClientRectangle, 4))
- G.DrawPath(p, Draw.RoundRect(New Rectangle(0, 0, Width - 1, Height - 1), 3))
- G.DrawLine(New Pen(Color.FromArgb(142, 172, 30)), 2, 1, Width - 3, 1)
- DrawText(HorizontalAlignment.Center, Color.FromArgb(250, 250, 250), 1)
- Case State.MouseOver
- Dim p As New Pen(Color.FromArgb(120, 159, 22), 1)
- Dim x As New LinearGradientBrush(ClientRectangle, Color.FromArgb(165, 220, 59), Color.FromArgb(137, 191, 18), LinearGradientMode.Vertical)
- G.FillPath(x, Draw.RoundRect(ClientRectangle, 4))
- G.DrawPath(p, Draw.RoundRect(New Rectangle(0, 0, Width - 1, Height - 1), 3))
- G.DrawLine(New Pen(Color.FromArgb(190, 232, 109)), 2, 1, Width - 3, 1)
- DrawText(HorizontalAlignment.Center, Color.FromArgb(240, 240, 240), -1)
- End Select
- Me.Cursor = Cursors.Hand
- End Sub
- End Class
- Class ButtonBlue
- Inherits ThemeControl
- Overrides Sub PaintHook()
- Me.Font = New Font("Arial", 10)
- G.Clear(Me.BackColor)
- G.SmoothingMode = SmoothingMode.HighQuality
- Select Case MouseState
- Case State.MouseNone
- Dim p As New Pen(Color.FromArgb(34, 112, 171), 1)
- Dim x As New LinearGradientBrush(ClientRectangle, Color.FromArgb(51, 159, 231), Color.FromArgb(33, 128, 206), LinearGradientMode.Vertical)
- G.FillPath(x, Draw.RoundRect(ClientRectangle, 4))
- G.DrawPath(p, Draw.RoundRect(New Rectangle(0, 0, Width - 1, Height - 1), 3))
- G.DrawLine(New Pen(Color.FromArgb(131, 197, 241)), 2, 1, Width - 3, 1)
- DrawText(HorizontalAlignment.Center, Color.FromArgb(240, 240, 240), 0)
- Case State.MouseDown
- Dim p As New Pen(Color.FromArgb(34, 112, 171), 1)
- Dim x As New LinearGradientBrush(ClientRectangle, Color.FromArgb(37, 124, 196), Color.FromArgb(53, 153, 219), LinearGradientMode.Vertical)
- G.FillPath(x, Draw.RoundRect(ClientRectangle, 4))
- G.DrawPath(p, Draw.RoundRect(New Rectangle(0, 0, Width - 1, Height - 1), 3))
- DrawText(HorizontalAlignment.Center, Color.FromArgb(250, 250, 250), 1)
- Case State.MouseOver
- Dim p As New Pen(Color.FromArgb(34, 112, 171), 1)
- Dim x As New LinearGradientBrush(ClientRectangle, Color.FromArgb(54, 167, 243), Color.FromArgb(35, 165, 217), LinearGradientMode.Vertical)
- G.FillPath(x, Draw.RoundRect(ClientRectangle, 4))
- G.DrawPath(p, Draw.RoundRect(New Rectangle(0, 0, Width - 1, Height - 1), 3))
- G.DrawLine(New Pen(Color.FromArgb(131, 197, 241)), 2, 1, Width - 3, 1)
- DrawText(HorizontalAlignment.Center, Color.FromArgb(240, 240, 240), -1)
- End Select
- Me.Cursor = Cursors.Hand
- End Sub
- End Class
- Class StatusBar
- Inherits ThemeControl
- Sub New()
- Me.Dock = DockStyle.Bottom
- Me.Size = New Size(Width, 20)
- End Sub
- Overrides Sub PaintHook()
- Me.Font = New Font("Arial", 10)
- G.Clear(Me.BackColor)
- G.SmoothingMode = SmoothingMode.HighQuality
- Select Case MouseState
- Case State.MouseNone
- DrawGradient(Color.FromArgb(20, 82, 179), Color.FromArgb(58, 110, 195), 0, 0, Width, Height, 270S)
- G.DrawRectangle(New Pen(Color.FromArgb(12, 69, 180)), 0, 0, Width - 1, Height - 1)
- DrawText(HorizontalAlignment.Left, Color.FromArgb(240, 240, 240), +1)
- Case State.MouseDown
- DrawGradient(Color.FromArgb(19, 75, 172), Color.FromArgb(70, 110, 198), 0, 0, Width, Height, 270S)
- G.DrawRectangle(New Pen(Color.FromArgb(12, 69, 180)), 0, 0, Width - 1, Height - 1)
- DrawText(HorizontalAlignment.Left, Color.FromArgb(232, 232, 232), +1)
- Case State.MouseOver
- DrawGradient(Color.FromArgb(21, 79, 177), Color.FromArgb(76, 128, 218), 0, 0, Width, Height, 270S)
- G.DrawRectangle(New Pen(Color.FromArgb(12, 69, 180)), 0, 0, Width - 1, Height - 1)
- DrawText(HorizontalAlignment.Left, Color.FromArgb(250, 250, 250), +1)
- End Select
- G.DrawLine(New Pen(Color.FromArgb(50, 255, 255, 255)), 1, 1, Width - 3, 1)
- End Sub
- End Class
- Class ProgressBar
- Inherits ThemeControl
- Private _Maximum As Integer
- Dim Gloss As Boolean
- Dim Vertical As Boolean = True
- Public Property VerticalAlignment As Boolean
- Get
- Return Vertical
- End Get
- Set(ByVal v As Boolean)
- Vertical = v
- Invalidate()
- End Set
- End Property
- Public Property Glossy As Boolean
- Get
- Return Gloss
- End Get
- Set(ByVal v As Boolean)
- Gloss = v
- Invalidate()
- End Set
- End Property
- Public Property Maximum() As Integer
- Get
- Return _Maximum
- End Get
- Set(ByVal v As Integer)
- Select Case v
- Case Is < _Value
- _Value = v
- End Select
- _Maximum = v
- Invalidate()
- End Set
- End Property
- Private _Value As Integer
- Public Property Value() As Integer
- Get
- Return _Value
- End Get
- Set(ByVal v As Integer)
- Select Case v
- Case Is > _Maximum
- v = _Maximum
- End Select
- _Value = v
- Invalidate()
- End Set
- End Property
- Overrides Sub PaintHook()
- G.SmoothingMode = SmoothingMode.HighQuality
- G.Clear(Color.Transparent)
- Dim s As Integer = 0
- Dim pe As New Pen(Color.FromArgb(34, 112, 171), 1)
- Dim xe As New LinearGradientBrush(ClientRectangle, Color.FromArgb(31, 119, 181), Color.FromArgb(33, 128, 206), LinearGradientMode.Vertical)
- G.FillPath(xe, Draw.RoundRect(ClientRectangle, 4))
- G.DrawPath(pe, Draw.RoundRect(New Rectangle(0, 0, Width - 1, Height - 1), 3))
- G.DrawLine(New Pen(Color.FromArgb(65, 131, 197, 241)), 2, 1, Width - 3, 1)
- 'Fill
- If _Value > 1 Then
- If Vertical Then
- s = (Height - CInt(_Value / _Maximum * Height))
- If Glossy Then
- Dim p As New Pen(Color.FromArgb(34, 112, 171), 1)
- Dim x As New LinearGradientBrush(ClientRectangle, Color.FromArgb(51, 159, 231), Color.FromArgb(33, 128, 206), LinearGradientMode.Vertical)
- G.FillPath(x, Draw.RoundRect(New Rectangle(2, s + 3, Width - 5, CInt(_Value / _Maximum * Height) - 6), 4))
- DrawGradient(Color.FromArgb(50, Color.White), Color.Transparent, 4, s + 3, 10, CInt(_Value / _Maximum * Height) - 7, 270S)
- G.DrawPath(p, Draw.RoundRect(New Rectangle(2, s + 3, Width - 5, CInt(_Value / _Maximum * Height) - 6), 3))
- G.DrawLine(New Pen(Color.FromArgb(90, 131, 197, 241)), 4, s + 4, Width - 6, s + 4)
- ElseIf Not Glossy Then
- Dim p As New Pen(Color.FromArgb(34, 112, 171), 1)
- Dim x As New LinearGradientBrush(ClientRectangle, Color.FromArgb(51, 159, 231), Color.FromArgb(33, 128, 206), LinearGradientMode.Vertical)
- G.FillPath(x, Draw.RoundRect(New Rectangle(2, s + 3, Width - 5, CInt(_Value / _Maximum * Height) - 6), 4))
- G.DrawPath(p, Draw.RoundRect(New Rectangle(2, s + 3, Width - 5, CInt(_Value / _Maximum * Height) - 6), 3))
- G.DrawLine(New Pen(Color.FromArgb(90, 131, 197, 241)), 4, s + 4, Width - 6, s + 4)
- End If
- ElseIf Not Vertical Then
- s = (Height - CInt(_Value / _Maximum * Width))
- If Glossy Then
- Dim p As New Pen(Color.FromArgb(34, 112, 171), 1)
- Dim x As New LinearGradientBrush(ClientRectangle, Color.FromArgb(51, 159, 231), Color.FromArgb(33, 128, 206), LinearGradientMode.Vertical)
- G.FillPath(x, Draw.RoundRect(New Rectangle(2, 2, CInt(_Value / _Maximum * Width) - 6, Height - 5), 4))
- G.DrawLine(New Pen(Color.FromArgb(90, 131, 197, 241)), 4, 3, CInt(_Value / _Maximum * Width) - 7, 3)
- DrawGradient(Color.FromArgb(60, Color.White), Color.Transparent, 3, 3, CInt(_Value / _Maximum * Width) - 7, Height / 2 - 3, 0S)
- G.DrawPath(p, Draw.RoundRect(New Rectangle(2, 2, CInt(_Value / _Maximum * Width) - 6, Height - 5), 3))
- ElseIf Not Glossy Then
- Dim p As New Pen(Color.FromArgb(34, 112, 171), 1)
- Dim x As New LinearGradientBrush(ClientRectangle, Color.FromArgb(51, 159, 231), Color.FromArgb(33, 128, 206), LinearGradientMode.Vertical)
- G.FillPath(x, Draw.RoundRect(New Rectangle(2, 2, CInt(_Value / _Maximum * Width) - 6, Height - 5), 4))
- G.DrawLine(New Pen(Color.FromArgb(90, 131, 197, 241)), 4, 3, CInt(_Value / _Maximum * Width) - 7, 3)
- G.DrawPath(p, Draw.RoundRect(New Rectangle(2, 2, CInt(_Value / _Maximum * Width) - 6, Height - 5), 3))
- End If
- End If
- End If
- 'Borders
- End Sub
- Public Sub Increment(ByVal Amount As Integer)
- If Me.Value + Amount > Maximum Then
- Me.Value = Maximum
- Else
- Me.Value += Amount
- End If
- End Sub
- Public Sub New()
- Me.Value = 0
- Me.Maximum = 100
- AllowTransparent()
- End Sub
- End Class
- Class DropDownComboBox
- Inherits ComboBox
- Private X As Integer
- Private Over As Boolean
- Sub New()
- MyBase.New()
- Font = New Font("Tahoma", 9, FontStyle.Regular)
- SetStyle(ControlStyles.AllPaintingInWmPaint Or ControlStyles.ResizeRedraw Or ControlStyles.UserPaint Or ControlStyles.DoubleBuffer, True)
- DrawMode = Windows.Forms.DrawMode.OwnerDrawFixed
- ItemHeight = 25
- DropDownStyle = ComboBoxStyle.DropDownList
- End Sub
- Protected Overrides Sub OnMouseMove(ByVal e As System.Windows.Forms.MouseEventArgs)
- MyBase.OnMouseMove(e)
- X = e.Location.X
- Invalidate()
- End Sub
- Protected Overrides Sub OnMouseEnter(ByVal e As System.EventArgs)
- MyBase.OnMouseEnter(e)
- Over = True
- Invalidate()
- End Sub
- Protected Overrides Sub OnMouseLeave(ByVal e As System.EventArgs)
- MyBase.OnMouseEnter(e)
- Over = False
- Invalidate()
- End Sub
- Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs)
- Me.Font = New Font("Tahoma", 9, FontStyle.Regular)
- Dim bs As New SolidBrush(Me.ForeColor)
- If Not DropDownStyle = ComboBoxStyle.DropDownList Then DropDownStyle = ComboBoxStyle.DropDownList
- Dim B As New Bitmap(Width, Height)
- Dim G As Graphics = Graphics.FromImage(B)
- Dim m As New Font("Marlett", 11)
- G.Clear(Color.FromArgb(50, 50, 50))
- Dim GradientBrush As LinearGradientBrush = New LinearGradientBrush(New Rectangle(0, 0, Width, Height), Color.FromArgb(234, 234, 234), Color.FromArgb(242, 242, 242), 270.0F)
- G.FillRectangle(GradientBrush, New Rectangle(0, 0, Width, Height))
- Dim op As New Pen(Color.FromArgb(204, 204, 204), 1)
- Dim o As New Pen(Color.FromArgb(237, 237, 237), 6)
- G.DrawPath(o, Draw.RoundRect(New Rectangle(0, 0, Width - 1, Height - 1), 2))
- G.DrawPath(op, Draw.RoundRect(New Rectangle(0, 0, Width - 1, Height - 1), 2))
- If X >= Width - 20 And Over Then
- GradientBrush = New LinearGradientBrush(New Rectangle(0, 0, Width, Height), Color.FromArgb(239, 239, 239), Color.FromArgb(236, 236, 236), 90.0F)
- G.FillRectangle(GradientBrush, New Rectangle(Width - 22, 2, 20, Height - 4))
- ElseIf X < Width - 20 And Over Then
- GradientBrush = New LinearGradientBrush(New Rectangle(0, 0, Width, Height), Color.FromArgb(239, 239, 239), Color.FromArgb(236, 236, 236), 90.0F)
- G.FillRectangle(GradientBrush, New Rectangle(2, 2, Width - 27, Height - 4))
- End If
- Dim S1 As Integer = G.MeasureString(" ... ", Font).Height
- If SelectedIndex <> -1 Then
- G.DrawString(Items(SelectedIndex), Font, bs, 4, (Height \ 2 - S1 \ 2))
- G.DrawString("6", m, bs, Width - 22, (Height \ 2 - S1 \ 2))
- Else
- If Not Items Is Nothing And Items.Count > 0 Then
- G.DrawString(Items(0), Font, bs, 4, (Height \ 2 - S1 \ 2))
- G.DrawString("6", m, bs, Width - 22, (Height \ 2 - S1 \ 2))
- Else
- G.DrawString(" ... ", Font, bs, 4, (Height \ 2 - S1 \ 2))
- G.DrawString("6", m, bs, Width - 22, (Height \ 2 - S1 \ 2))
- End If
- End If
- G.DrawLine(New Pen(Color.FromArgb(120, 255, 255, 255)), 1, 1, Width - 3, 1)
- e.Graphics.DrawImage(B.Clone, 0, 0)
- G.Dispose() : B.Dispose()
- End Sub
- Protected Overrides Sub OnDrawItem(ByVal e As DrawItemEventArgs)
- If e.Index < 0 Then Exit Sub
- Dim rect As New Rectangle()
- rect.X = e.Bounds.X
- rect.Y = e.Bounds.Y
- rect.Width = e.Bounds.Width - 1
- rect.Height = e.Bounds.Height - 1
- e.DrawBackground()
- If e.State = 785 Or e.State = 17 Then
- e.Graphics.FillRectangle(New SolidBrush(Color.FromArgb(235, 235, 235)), e.Bounds)
- e.Graphics.FillRectangle(New SolidBrush(Color.FromArgb(50, Me.ForeColor)), e.Bounds)
- e.Graphics.DrawString(Me.Items(e.Index).ToString(), e.Font, Brushes.Black, e.Bounds.X, e.Bounds.Y + 5)
- Else
- e.Graphics.FillRectangle(New SolidBrush(Color.White), e.Bounds)
- e.Graphics.DrawString(Me.Items(e.Index).ToString(), e.Font, Brushes.Black, e.Bounds.X, e.Bounds.Y + 4)
- End If
- MyBase.OnDrawItem(e)
- End Sub
- Private Sub GhostComboBox_DropDown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.DropDown
- End Sub
- Private Sub GhostComboBox_DropDownClosed(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.DropDownClosed
- DropDownStyle = ComboBoxStyle.Simple
- Application.DoEvents()
- DropDownStyle = ComboBoxStyle.DropDownList
- End Sub
- Private Sub GhostCombo_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.TextChanged
- Invalidate()
- End Sub
- End Class
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement