Jump to content
YOUR-AD-HERE
HOSTING
TOOLS

Locked FetuS Theme ( Youtube )


Recommended Posts

This is the hidden content, please

 

Codigo:

 

[lenguaje=vb.net]'YouTubeTheme by ThePrinCe

'Thanks To AeonHack for he's tuts

 

Imports System.Drawing.Drawing2D

Imports System.ComponentModel

Imports System.Runtime.InteropServices

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©

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©

 

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

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©

 

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(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 YoutubeTheme

Inherits Theme

Private _TitleAlign As HorizontalAlignment

Public Property TitleAlign() As HorizontalAlignment

Get

Return _TitleAlign

End Get

Set(ByVal v As HorizontalAlignment)

_TitleAlign = v : Invalidate()

End Set

 

End Property

Sub New()

TransparencyKey = Color.Fuchsia

MoveHeight = 25

End Sub

Private P1, P2 As Pen

 

 

 

Overrides Sub PaintHook()

P1 = New Pen(Color.FromArgb(220, 219, 219))

P2 = New Pen(Color.FromArgb(225, 225, 225))

Dim Textcolor As Color = Color.Black

 

G.Clear(Color.White)

 

G.FillRectangle(New SolidBrush(Color.FromArgb(224, 224, 224)), 14, MoveHeight, Width - 30, Height - MoveHeight - 10)

DrawGradient(Color.FromArgb(220, 220, 220), Color.White, 0, -12, Width, MoveHeight, 90S)

 

 

 

 

If _TitleAlign = HorizontalAlignment.Center Then

DrawText(HorizontalAlignment.Center, Textcolor, 5)

ElseIf _TitleAlign = HorizontalAlignment.Left Then

DrawText(HorizontalAlignment.Left, Textcolor, 5)

ElseIf _TitleAlign = HorizontalAlignment.Right Then

DrawText(HorizontalAlignment.Right, Textcolor, 5)

End If

 

DrawBorders(P2, P1, ClientRectangle)

DrawCorners(Color.Fuchsia, ClientRectangle)

End Sub

 

End Class

 

Class Button

Inherits ThemeControl

Private P1, P2, P11, P12 As Pen

Overrides Sub PaintHook()

P1 = New Pen(Color.FromArgb(225, 225, 225))

P2 = New Pen(Color.FromArgb(205, 205, 205))

P11 = New Pen(Color.FromArgb(225, 225, 225))

P12 = New Pen(Color.FromArgb(200, 200, 200))

Dim gradient1 As Color = Color.FromArgb(243, 243, 243)

Dim gradient2 As Color = Color.FromArgb(245, 245, 245)

Dim gradient11 As Color = Color.FromArgb(245, 245, 245)

Dim gradient12 As Color = Color.FromArgb(247, 247, 247)

 

G.Clear(Color.FromArgb(240, 240, 240))

DrawGradient(Color.FromArgb(250, 250, 250), Color.FromArgb(247, 248, 248), 0, 0, Width, 3, 90S)

DrawGradient(Color.FromArgb(248, 248, 248), Color.FromArgb(0, 0, 0), 0, 0, Width, 275, 90S)

DrawBorders(P11, P12, ClientRectangle)

 

Select Case MouseState

 

Case State.MouseOver

DrawGradient(Color.FromArgb(250, 250, 250), Color.FromArgb(247, 248, 248), 0, 0, Width, 20, 90S)

DrawGradient(Color.FromArgb(248, 248, 248), Color.FromArgb(0, 0, 0), 0, 0, Width, 250, 90S)

DrawBorders(P2, P11, ClientRectangle)

DrawText(HorizontalAlignment.Center, Color.Red, 0)

 

Case State.MouseDown

Dim _Rectangle As New Rectangle(0, -3, Width, Height \ 2)

Dim _Gradient As New LinearGradientBrush(_Rectangle, Color.FromArgb(238, 238, 238), Color.FromArgb(240, 240, 240), 90)

G.FillRectangle(_Gradient, _Rectangle)

DrawBorders(New Pen(Color.FromArgb(240, 240, 240)), New Pen(Color.FromArgb(190, 190, 190)), ClientRectangle)

DrawText(HorizontalAlignment.Center, Color.Gray, 0)

 

End Select

 

 

 

DrawCorners(Color.FromArgb(240, 240, 240), ClientRectangle)

DrawText(HorizontalAlignment.Center, Color.Gray, 0)

End Sub

End Class

 

Class Checkbox

Inherits ThemeControl

Private _CheckedState As Boolean

Public Property CheckedState() As Boolean

Get

Return _CheckedState

End Get

Set(ByVal v As Boolean)

_CheckedState = v

Invalidate()

End Set

End Property

Sub New()

Size = New Size(90, 15)

MinimumSize = New Size(16, 16)

MaximumSize = New Size(600, 16)

CheckedState = False

End Sub

Private P1, P2 As Pen

Overrides Sub PaintHook()

P1 = New Pen(Color.FromArgb(250, 250, 250))

P2 = New Pen(Color.FromArgb(160, 160, 160))

 

G.Clear(Color.FromArgb(224, 224, 224))

 

Select Case CheckedState

Case True

DrawGradient(Color.FromArgb(160, 26, 26), Color.FromArgb(143, 16, 16), 3, 3, 9, 9, 90S)

 

Case False

DrawGradient(Color.FromArgb(215, 215, 215), Color.FromArgb(220, 220, 220), 0, 0, 15, 15, 90S)

 

End Select

G.DrawRectangle(P2, 0, 0, 14, 14)

G.DrawRectangle(P1, 1, 1, 12, 12)

DrawText(HorizontalAlignment.Left, Color.Black, 17, 0)

 

End Sub

Sub changeCheck() Handles Me.Click

Select Case CheckedState

Case True

CheckedState = False

Case False

CheckedState = True

End Select

End Sub

End Class

 

Class ProgressBar

Inherits ThemeControl

Private _Maximum As Integer = 100

Property Maximum() As Integer

Get

Return _Maximum

End Get

Set(ByVal v As Integer)

If v < 1 Then v = 1

If v < _Value Then _Value = v

 

_Maximum = v

Invalidate()

End Set

End Property

 

Private _Value As Integer

Property Value() As Integer

Get

Return _Value

End Get

Set(ByVal v As Integer)

If v > _Maximum Then v = _Maximum

 

_Value = v

Invalidate()

End Set

End Property

Dim Border As New Pen(Color.FromArgb(90, 90, 90))

Dim UpperColor As New SolidBrush(Color.FromArgb(168, 26, 26)) : Dim LowerColor As New SolidBrush(Color.FromArgb(143, 16, 16))

Overrides Sub PaintHook()

 

DrawGradient(Color.FromArgb(70, 70, 70), Color.FromArgb(60, 60, 60), 0, 0, Width, 60, 90S)

G.FillRectangle(LowerColor, 1, 1, CInt((_Value / _Maximum) * Width), Height - 2)

G.FillRectangle(UpperColor, 1, 1, CInt((_Value / _Maximum) * Width), (Height - 2) \ 2)

G.DrawRectangle(Border, 0, 0, Width - 1, Height - 1) '

DrawBorders(New Pen(Color.FromArgb(200, 200, 200)), New Pen(Color.FromArgb(240, 240, 240)), ClientRectangle)

DrawCorners(Color.FromArgb(224, 224, 224), ClientRectangle)

 

 

End Sub

End Class[/lenguaje]

 

Saludos

Edited by Expermicid
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.