netrosly

Quicktime Player Recreation

Sep 6th, 2014
336
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VB.NET 66.79 KB | None | 0 0
  1. Imports System
  2. Imports System.Collections.Generic
  3. Imports System.ComponentModel
  4. Imports System.Diagnostics
  5. Imports System.Drawing
  6. Imports System.Drawing.Drawing2D
  7. Imports System.IO
  8. Imports System.Runtime.CompilerServices
  9. Imports System.Windows.Forms
  10. <DefaultEvent("CheckedChanged")> Class YouToggle : Inherits Panel
  11.  
  12.     Public onoff As Boolean = False
  13.     Public Event CheckedChanged(ByVal sender As Object)
  14.     Public Sub New()
  15.         Me.SetStyle(ControlStyles.DoubleBuffer Or ControlStyles.AllPaintingInWmPaint Or ControlStyles.UserPaint, True)
  16.         DoubleBuffered = True
  17.         Me.Size = New Size(44, 18)
  18.     End Sub
  19.  
  20.     <PropertyTab("Onoff")> _
  21.  <DisplayName("Onoff")> _
  22.     Public Property Icons() As Boolean
  23.         Get
  24.             Return onoff
  25.         End Get
  26.         Set(value As Boolean)
  27.             onoff = value
  28.         End Set
  29.     End Property
  30.     Friend NearSF As New StringFormat() With {.Alignment = StringAlignment.Near, .LineAlignment = StringAlignment.Near}
  31.     Protected Overrides Sub OnPaint(e As PaintEventArgs)
  32.         Dim bm As New Bitmap(Me.Width, Me.Height)
  33.         Dim g As Graphics = Graphics.FromImage(bm)
  34.         ' Me.Padding = New Padding(13, 39, 13, 24)
  35.         '  Dim rect As New Rectangle(0, 0, Me.Width, (Me.Height - 35))
  36.         ' Dim brush As New LinearGradientBrush(rect, Color.FromArgb(250, 250, 250), Color.FromArgb(206, 206, 206), 90.0!)
  37.         'Begin
  38.         If onoff = True Then
  39.             Dim Path As GraphicsPath = RoundRec(0, 0, Width - 2, Height - 2, 14)
  40.             g.SmoothingMode = SmoothingMode.HighQuality
  41.             g.FillPath(New SolidBrush(Color.FromArgb(22, 122, 198)), Path)
  42.             g.DrawPath(New Pen(Color.FromArgb(22, 122, 198)), Path)
  43.             g.DrawEllipse(New Pen(Color.FromArgb(255, 255, 255)), New Rectangle(Width - 17, Me.Height - 17, 14, 14))
  44.             g.FillEllipse(New SolidBrush(Color.FromArgb(255, 255, 255)), New Rectangle(Width - 17, Me.Height - 17, 14, 14))
  45.             g.DrawString("ΓΌ", New Font("Wingdings", 14), New SolidBrush(Color.FromArgb(255, 255, 255)), New Rectangle(0 + 7, Me.Height - 19, 14, 14), NearSF)
  46.         Else
  47.             Dim Path As GraphicsPath = RoundRec(0, 0, Width - 2, Height - 2, 14)
  48.             g.SmoothingMode = SmoothingMode.HighQuality
  49.             g.FillPath(New SolidBrush(Color.FromArgb(184, 184, 184)), Path)
  50.             g.DrawPath(New Pen(Color.FromArgb(184, 184, 184)), Path)
  51.             g.DrawEllipse(New Pen(Color.FromArgb(255, 255, 255)), New Rectangle(0 + 1, Me.Height - 17, 14, 14))
  52.             g.FillEllipse(New SolidBrush(Color.FromArgb(255, 255, 255)), New Rectangle(0 + 1, Me.Height - 17, 14, 14))
  53.         End If
  54.         'end
  55.         e.Graphics.DrawImage(DirectCast(bm.Clone(), Bitmap), 0, 0)
  56.         g.Dispose()
  57.         bm.Dispose()
  58.         MyBase.OnPaint(e)
  59.     End Sub
  60.     Dim x, y As Integer
  61.     Private _Checked As Boolean = False
  62. #Region " Options"
  63.  
  64.     <Category("Options")> _
  65.     Public Property Checked As Boolean
  66.         Get
  67.             Return _Checked
  68.         End Get
  69.         Set(value As Boolean)
  70.             _Checked = value
  71.         End Set
  72.     End Property
  73.  
  74. #End Region
  75. #Region "ThemeDraggable"
  76.  
  77.     Private savePoint As New Point(0, 0)
  78.     Private isDragging As Boolean = False
  79.  
  80.     Protected Overrides Sub OnMouseDown(e As MouseEventArgs)
  81.  
  82.         Dim clickRect2 As New Rectangle(0 + 1, Me.Height - 17, 14, 14)
  83.         If onoff = False Then
  84.             If clickRect2.Contains(New Point(e.X, e.Y)) Then
  85.                 onoff = True
  86.                 RaiseEvent CheckedChanged(Me)
  87.             End If
  88.         End If
  89.         Dim clickRect3 As New Rectangle(Width - 17, Me.Height - 17, 14, 14)
  90.         If onoff = True Then
  91.             If clickRect3.Contains(New Point(e.X, e.Y)) Then
  92.                 onoff = False
  93.                 RaiseEvent CheckedChanged(Me)
  94.             End If
  95.         End If
  96.         MyBase.OnMouseDown(e)
  97.     End Sub
  98.  
  99.     Protected Overrides Sub OnMouseUp(e As MouseEventArgs)
  100.         isDragging = False
  101.         MyBase.OnMouseUp(e)
  102.     End Sub
  103.  
  104.     Private mouseX As Integer
  105.     Private mouseY As Integer
  106.     Protected Overrides Sub OnMouseMove(e As MouseEventArgs)
  107.         mouseX = e.X
  108.         mouseY = e.Y
  109.         MyBase.OnMouseMove(e)
  110.         Invalidate()
  111.     End Sub
  112. #End Region
  113.     Private Sub Theme_Resize(sender As Object, e As EventArgs) Handles Me.Resize
  114.         Me.Refresh()
  115.     End Sub
  116.     Public Function RoundRec(ByVal X As Integer, ByVal Y As Integer, _
  117.        ByVal Width As Integer, ByVal Height As Integer, ByVal diameter As Integer) As System.Drawing.Drawing2D.GraphicsPath
  118.  
  119.         ''the 'diameter' parameter changes the size of the rounded region
  120.  
  121.         Dim graphics_path As New System.Drawing.Drawing2D.GraphicsPath
  122.  
  123.         Dim BaseRect As New RectangleF(X, Y, Width, Height)
  124.         Dim ArcRect As New RectangleF(BaseRect.Location, New SizeF(diameter, diameter))
  125.  
  126.         'top left Arc
  127.         graphics_path.AddArc(ArcRect, 180, 90)
  128.         graphics_path.AddLine(X + CInt(diameter / 2), _
  129.         Y, X + Width - CInt(diameter / 2), Y)
  130.  
  131.         ' top right arc
  132.         ArcRect.X = BaseRect.Right - diameter
  133.         graphics_path.AddArc(ArcRect, 270, 90)
  134.         graphics_path.AddLine(X + Width, _
  135.         Y + CInt(diameter / 2), X + Width, _
  136.                          Y + Height - CInt(diameter / 2))
  137.  
  138.         ' bottom right arc
  139.         ArcRect.Y = BaseRect.Bottom - diameter
  140.         graphics_path.AddArc(ArcRect, 0, 90)
  141.         graphics_path.AddLine(X + CInt(diameter / 2), _
  142.         Y + Height, X + Width - CInt(diameter / 2), _
  143.                          Y + Height)
  144.  
  145.         ' bottom left arc
  146.         ArcRect.X = BaseRect.Left
  147.         graphics_path.AddArc(ArcRect, 90, 90)
  148.         graphics_path.AddLine(X, Y + CInt(diameter / 2), _
  149.         X, Y + Height - CInt(diameter / 2))
  150.  
  151.         Return graphics_path
  152.  
  153.     End Function
  154. End Class
  155.  
  156.  
  157. <DefaultEvent("VolumeChanged2")> Class YouPLayer : Inherits Control
  158.  
  159.     Public Event VolumeChanged2(ByVal sender As Object)
  160.     Private _Volume As Integer
  161.     Private CreateRoundPath As GraphicsPath
  162.     Private CreateRoundRectangle As Rectangle
  163.     Private LastVolume As Integer
  164.     Private pointdown As Point
  165.     Private Speaker_Cone As Image
  166.     Private Volume_Maximum As Image
  167.     Private Volume_Medium As Image
  168.     Private Volume_Mute As Image
  169.     Private Volume_Silent As Image
  170.     Private VolumeChangedEvent As VolumeChangedEventHandler
  171.     Public Delegate Sub VolumeChangedEventHandler(ByVal Volume As Integer)
  172.  
  173.  
  174.  
  175.  
  176.     Sub New()
  177.         Me.Speaker_Cone = Me.CodeToImage("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")
  178.         Me.Volume_Maximum = Me.CodeToImage("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")
  179.         Me.Volume_Medium = Me.CodeToImage("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")
  180.         Me.Volume_Silent = Me.CodeToImage("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")
  181.         Me.Volume_Mute = Me.CodeToImage("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")
  182.         Me.pointdown = New Point(-1, -1)
  183.         Me.LastVolume = 100
  184.         Me.DoubleBuffered = True
  185.         Me.SetStyle(ControlStyles.OptimizedDoubleBuffer, True)
  186.     End Sub
  187.     Public Function CodeToImage(ByVal Code As String) As Image
  188.         Return Image.FromStream(New MemoryStream(Convert.FromBase64String(Code)))
  189.     End Function
  190.  
  191.     Public Function CreateRound(ByVal r As Rectangle, ByVal slope As Integer) As GraphicsPath
  192.         Me.CreateRoundPath = New GraphicsPath(FillMode.Winding)
  193.         Me.CreateRoundPath.AddArc(r.X, r.Y, slope, slope, 180.0!, 90.0!)
  194.         Me.CreateRoundPath.AddArc((r.Right - slope), r.Y, slope, slope, 270.0!, 90.0!)
  195.         Me.CreateRoundPath.AddArc((r.Right - slope), (r.Bottom - slope), slope, slope, 0.0!, 90.0!)
  196.         Me.CreateRoundPath.AddArc(r.X, (r.Bottom - slope), slope, slope, 90.0!, 90.0!)
  197.         Me.CreateRoundPath.CloseFigure()
  198.         Return Me.CreateRoundPath
  199.     End Function
  200.  
  201.     Public Function CreateRound(ByVal x As Integer, ByVal y As Integer, ByVal width As Integer, ByVal height As Integer, ByVal slope As Integer) As GraphicsPath
  202.         Me.CreateRoundRectangle = New Rectangle(x, y, width, height)
  203.         Return Me.CreateRound(Me.CreateRoundRectangle, slope)
  204.     End Function
  205.  
  206.     Protected Overrides Sub OnMouseDown(ByVal e As MouseEventArgs)
  207.         Dim volumeChangedEvent As VolumeChangedEventHandler
  208.         Me.pointdown = e.Location
  209.         Dim rectangle As New Rectangle(&H2B, 10, (Me.Width - &H38), 7)
  210.         Dim rectangle2 As Rectangle = rectangle
  211.         If rectangle2.Contains(e.Location) Then
  212.             Me.Volume = CInt(Math.Round(CDbl(((CDbl((e.Location.X - &H33)) / CDbl((Me.Width - &H47))) * 100))))
  213.             volumeChangedEvent = Me.VolumeChangedEvent
  214.             RaiseEvent VolumeChanged2(Me)
  215.             If (Not volumeChangedEvent Is Nothing) Then
  216.                 volumeChangedEvent.Invoke(Me._Volume)
  217.             End If
  218.         End If
  219.         rectangle2 = New Rectangle(10, 4, 20, 20)
  220.         rectangle = rectangle2
  221.         If rectangle.Contains(e.Location) Then
  222.             If (Me._Volume <> 0) Then
  223.                 Me.LastVolume = Me._Volume
  224.                 Me._Volume = 0
  225.                 RaiseEvent VolumeChanged2(Me)
  226.             Else
  227.                 Me._Volume = Me.LastVolume
  228.                 RaiseEvent VolumeChanged2(Me)
  229.             End If
  230.             volumeChangedEvent = Me.VolumeChangedEvent
  231.             If (Not volumeChangedEvent Is Nothing) Then
  232.                 volumeChangedEvent.Invoke(Me._Volume)
  233.             End If
  234.             Me.Invalidate()
  235.         End If
  236.         MyBase.OnMouseDown(e)
  237.     End Sub
  238.  
  239.     Protected Overrides Sub OnMouseMove(ByVal e As MouseEventArgs)
  240.         Dim rectangle As New Rectangle(&H2B, 0, (Me.Width - &H38), 26)
  241.         If ((e.Button = MouseButtons.Left) And rectangle.Contains(Me.pointdown)) Then
  242.             Me.Volume = CInt(Math.Round(CDbl(((CDbl((e.Location.X - &H43)) / CDbl((Me.Width - &H47))) * 100))))
  243.             Dim volumeChangedEvent As VolumeChangedEventHandler = Me.VolumeChangedEvent
  244.             If (Not volumeChangedEvent Is Nothing) Then
  245.                 volumeChangedEvent.Invoke(Me._Volume)
  246.                 RaiseEvent VolumeChanged2(Me)
  247.             End If
  248.         End If
  249.         MyBase.OnMouseMove(e)
  250.     End Sub
  251.  
  252.  
  253.     Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs)
  254.         e.Graphics.Clear(Color.FromArgb(27, 28, 29))
  255.         Dim rect As New Rectangle(10, 8, 12, 12)
  256.         e.Graphics.DrawImage(Me.Speaker_Cone, rect)
  257.         Dim num As Integer = Me._Volume
  258.         If (num > 80) Then
  259.             rect = New Rectangle(&H16, 4, 11, 20)
  260.             e.Graphics.DrawImage(Me.Volume_Maximum, rect)
  261.         ElseIf (num > 50) Then
  262.             rect = New Rectangle(&H16, 4, 11, 20)
  263.             e.Graphics.DrawImage(Me.Volume_Medium, rect)
  264.         ElseIf (num > 0) Then
  265.             rect = New Rectangle(&H16, 4, 11, 20)
  266.             e.Graphics.DrawImage(Me.Volume_Silent, rect)
  267.         Else
  268.             rect = New Rectangle(&H17, 10, 7, 7)
  269.             e.Graphics.DrawImage(Me.Volume_Mute, rect)
  270.         End If
  271.         e.Graphics.SmoothingMode = SmoothingMode.HighQuality
  272.         Dim path2 As GraphicsPath = Me.CreateRound(&H2B, 10, (Me.Width - &H38), 7, 6)
  273.         e.Graphics.FillPath(New SolidBrush(Color.FromArgb(30, 30, 30)), path2)
  274.         e.Graphics.DrawPath(Pens.Black, path2)
  275.         Dim path As GraphicsPath = Me.CreateRound(CInt(Math.Round(CDbl((43 + ((CDbl(Me._Volume) / 100) * (Me.Width - &H47)))))), 8, &H10, 11, 6)
  276.         rect = New Rectangle(CInt(Math.Round(CDbl((43 + ((CDbl(Me._Volume) / 100) * (Me.Width - &H47)))))), 10, &H10, 7)
  277.         Dim brush As New LinearGradientBrush(rect, Color.FromArgb(251, 83, 150), Color.FromArgb(225, 53, 126), 90.0!) 'Want Color.FromArgb(251, 83, 150), Color.FromArgb(225, 53, 126)
  278.         e.Graphics.FillRectangle(brush, New Rectangle(43, 10, rect.X - 28, 7))
  279.         e.Graphics.FillPath(brush, path)
  280.         e.Graphics.DrawPath(New Pen(Color.FromArgb(100, Color.Black)), path)
  281.         '  e.Graphics.FillRectangle(New SolidBrush(Color.FromArgb(221, 221, 221)), rect)
  282.         'e.Graphics.FillRectangle(brush, New Rectangle(34, 10, rect.X - 28, 7))
  283.         If VolStringOnOff = True Then
  284.             e.Graphics.DrawString(VolString, New Font("Arial", 6, FontStyle.Regular), New SolidBrush(Color.FromArgb(255, 255, 255)), rect, New StringFormat With {.Alignment = StringAlignment.Center, .LineAlignment = StringAlignment.Center})
  285.         End If
  286.                MyBase.OnPaint(e)
  287.     End Sub
  288.     Public VolString As String = "0"
  289.     Public VolStringOnOff As Boolean = False
  290.     <PropertyTab("Onoff")> _
  291.  <DisplayName("Onoff")> _
  292.     Public Property Onoff() As Boolean
  293.         Get
  294.             Return VolStringOnOff
  295.         End Get
  296.         Set(value As Boolean)
  297.             VolStringOnOff = value
  298.         End Set
  299.     End Property
  300.     <PropertyTab("Volumetext")> _
  301.  <DisplayName("Volumetext")> _
  302.     Public Property Icons() As String
  303.         Get
  304.             Return VolString
  305.         End Get
  306.         Set(value As String)
  307.             VolString = value
  308.         End Set
  309.     End Property
  310.  
  311.  
  312.     Public Property Volume As Integer
  313.         Get
  314.             Return Me._Volume
  315.         End Get
  316.         Set(ByVal value As Integer)
  317.             If (value <= 100) Then
  318.                 Me._Volume = value
  319.             Else
  320.                 Me._Volume = 100
  321.             End If
  322.             If (value < 0) Then
  323.                 Me._Volume = 0
  324.             End If
  325.             Me.Invalidate()
  326.         End Set
  327.     End Property
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338.  
  339. End Class
  340. Partial Public Class ThemeContainer : Inherits Control
  341.     Public Event DestinationChanged(ByVal sender As Object)
  342.     Public Event PlaystateChanged(ByVal sender As Object)
  343.     Public Event FastForward(ByVal sender As Object)
  344.     Public Event Revious(ByVal sender As Object)
  345.     Private _Volume As Integer
  346.     Private CreateRoundPath As GraphicsPath
  347.     Private CreateRoundRectangle As Rectangle
  348.     Private LastVolume As Integer
  349.     Private pointdown As Point
  350.     Private Speaker_Cone As Image
  351.     Private Volume_Maximum As Image
  352.     Private Volume_Medium As Image
  353.     Private Volume_Mute As Image
  354.     Private Volume_Silent As Image
  355.     Private VolumeChangedEvent As VolumeChangedEventHandler
  356.     Public Delegate Sub VolumeChangedEventHandler(ByVal Volume As Integer)
  357.  
  358.     Public Maxnum As Integer = 100
  359.     <PropertyTab("Maxnum")> _
  360.  <DisplayName("Maxnum")> _
  361.     Public Property Maxnumber() As Integer
  362.         Get
  363.             Return Maxnum
  364.         End Get
  365.         Set(value As Integer)
  366.             Maxnum = value
  367.         End Set
  368.     End Property
  369.  
  370.  
  371.     Sub New()
  372.         Me.Speaker_Cone = Me.CodeToImage("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")
  373.         Me.Volume_Maximum = Me.CodeToImage("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")
  374.         Me.Volume_Medium = Me.CodeToImage("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")
  375.         Me.Volume_Silent = Me.CodeToImage("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")
  376.         Me.Volume_Mute = Me.CodeToImage("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")
  377.         Me.pointdown = New Point(-1, -1)
  378.  
  379.         Me.DoubleBuffered = True
  380.         Me.SetStyle(ControlStyles.OptimizedDoubleBuffer, True)
  381.     End Sub
  382.     Public Function CodeToImage(ByVal Code As String) As Image
  383.         Return Image.FromStream(New MemoryStream(Convert.FromBase64String(Code)))
  384.     End Function
  385.     Public Function CreateRound(ByVal r As Rectangle, ByVal slope As Integer) As GraphicsPath
  386.         Me.CreateRoundPath = New GraphicsPath(FillMode.Winding)
  387.         Me.CreateRoundPath.AddArc(r.X, r.Y, slope, slope, 180.0!, 90.0!)
  388.         Me.CreateRoundPath.AddArc((r.Right - slope), r.Y, slope, slope, 270.0!, 90.0!)
  389.         Me.CreateRoundPath.AddArc((r.Right - slope), (r.Bottom - slope), slope, slope, 0.0!, 90.0!)
  390.         Me.CreateRoundPath.AddArc(r.X, (r.Bottom - slope), slope, slope, 90.0!, 90.0!)
  391.         Me.CreateRoundPath.CloseFigure()
  392.         Return Me.CreateRoundPath
  393.     End Function
  394.  
  395.     Public Function CreateRound(ByVal x As Integer, ByVal y As Integer, ByVal width As Integer, ByVal height As Integer, ByVal slope As Integer) As GraphicsPath
  396.         Me.CreateRoundRectangle = New Rectangle(x, y, width, height)
  397.         Return Me.CreateRound(Me.CreateRoundRectangle, slope)
  398.     End Function
  399. #Region "ThemeDraggable"
  400.  
  401.     Private savePoint As New Point(0, 0)
  402.     Private isDragging As Boolean = False
  403.  
  404.     Protected Overrides Sub OnMouseDown(e As MouseEventArgs)
  405.         ' Dim dragRect As New Rectangle(0, 0, Me.Width, 50)
  406.         ' If dragRect.Contains(New Point(e.X, e.Y)) Then
  407.         'isDragging = True
  408.         '  savePoint = New Point(e.X, e.Y)
  409.         '  End If
  410.         '  Dim clickRect As New Rectangle(Width - 40, 10, 24, 24)
  411.         '  If clickRect.Contains(New Point(e.X, e.Y)) Then
  412.         'Environment.[Exit](0)
  413.         '  End If
  414.         Dim rect = New Rectangle(Me.Width / 2 - 40, Me.Height / 2 - 20, 40, 40)
  415.         If rect.Contains(e.Location) Then
  416.             PlayState2 = Not PlayState2
  417.             RaiseEvent PlaystateChanged(Me)
  418.             MyBase.OnMouseDown(e)
  419.         End If
  420.         rect = New Rectangle(Me.Width / 2 + 26, Me.Height / 2 - 15, 40, 40)
  421.         If rect.Contains(e.Location) Then
  422.             RaiseEvent FastForward(Me)
  423.             MyBase.OnMouseDown(e)
  424.         End If
  425.         rect = New Rectangle(Me.Width / 2 - 83, Me.Height / 2 - 16, 40, 40)
  426.         If rect.Contains(e.Location) Then
  427.             RaiseEvent Revious(Me)
  428.             MyBase.OnMouseDown(e)
  429.         End If
  430.        
  431.         Dim volumeChangedEvent As VolumeChangedEventHandler
  432.         Me.pointdown = e.Location
  433.         Dim rectangle As New Rectangle(&H2B, 10, (Me.Width - &H38 - 30), 7)
  434.         Dim rectangle2 As Rectangle = rectangle
  435.         If rectangle2.Contains(e.Location) Then
  436.             Me.Destination = CInt(Math.Round(CDbl(((CDbl((e.Location.X - &H33)) / CDbl((Me.Width - &H47))) * Maxnum))))
  437.             volumeChangedEvent = Me.VolumeChangedEvent
  438.             RaiseEvent DestinationChanged(Me)
  439.             If (Not volumeChangedEvent Is Nothing) Then
  440.                 volumeChangedEvent.Invoke(Me._Volume)
  441.             End If
  442.         End If
  443.         rectangle2 = New Rectangle(10, 4, 20, 20)
  444.         rectangle = rectangle2
  445.         If rectangle.Contains(e.Location) Then
  446.             If (Me._Volume <> 0) Then
  447.                 Me.LastVolume = Me._Volume
  448.                 Me._Volume = 0
  449.                 RaiseEvent DestinationChanged(Me)
  450.             Else
  451.                 Me._Volume = Me.LastVolume
  452.                 RaiseEvent DestinationChanged(Me)
  453.             End If
  454.             volumeChangedEvent = Me.VolumeChangedEvent
  455.             If (Not volumeChangedEvent Is Nothing) Then
  456.                 volumeChangedEvent.Invoke(Me._Volume)
  457.             End If
  458.             Me.Invalidate()
  459.         End If
  460.  
  461.         '
  462.         MyBase.OnMouseDown(e)
  463.     End Sub
  464.     Dim x, y As integer
  465.     Protected Overrides Sub OnMouseUp(e As MouseEventArgs)
  466.         isDragging = False
  467.         MyBase.OnMouseUp(e)
  468.     End Sub
  469.  
  470.     Private mouseX As Integer
  471.     Private mouseY As Integer
  472.     Protected Overrides Sub OnMouseMove(e As MouseEventArgs)
  473.  
  474.         mouseX = e.X
  475.         mouseY = e.Y
  476.         Dim rectangle As New Rectangle(&H2B, 0, (Me.Width - &H38 - 30), 26)
  477.         If ((e.Button = MouseButtons.Left) And rectangle.Contains(Me.pointdown)) Then
  478.             Me.Destination = CInt(Math.Round(CDbl(((CDbl((e.Location.X - &H33)) / CDbl((Me.Width - &H47))) * Maxnum))))
  479.             Dim volumeChangedEvent As VolumeChangedEventHandler = Me.VolumeChangedEvent
  480.             If (Not volumeChangedEvent Is Nothing) Then
  481.  
  482.             End If
  483.         End If
  484.         MyBase.OnMouseMove(e)
  485.         Invalidate()
  486.     End Sub
  487.  
  488. #End Region
  489.     Protected Overridable Sub OnMouseDown2(ByVal e As MouseEventArgs)
  490.  
  491.      
  492.     End Sub
  493.    
  494.     Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs)
  495.         e.Graphics.Clear(Color.FromArgb(45, 45, 45))
  496.         Dim rect As New Rectangle(10, 8, 12, 12)
  497.         Me.LastVolume = Maxnum
  498.         e.Graphics.SmoothingMode = SmoothingMode.HighQuality
  499.         Dim path2 As GraphicsPath = Me.CreateRound(2, 2, Me.Width - 4, Me.Height - 4, 12)
  500.         e.Graphics.FillPath(New SolidBrush(Color.FromArgb(30, 30, 30)), path2)
  501.         e.Graphics.DrawPath(Pens.Black, path2)
  502.         'inner grey border
  503.         Dim path3 As GraphicsPath = Me.CreateRound(3, 3, Me.Width - 5, Me.Height - 5, 12)
  504.         e.Graphics.FillPath(New SolidBrush(Color.FromArgb(30, 30, 30)), path2)
  505.         e.Graphics.DrawPath(New Pen(Color.FromArgb(85, 85, 86)), path3)
  506.         'Half Shape
  507.         Dim rect2 = New Rectangle(4, 4, Me.Width - 7, Me.Height / 2 - 6)
  508.         Dim brush As New LinearGradientBrush(rect2, Color.FromArgb(68, 68, 69), Color.FromArgb(42, 42, 44), 90.0!)
  509.         Dim path4 As GraphicsPath = Me.CreateRound(4, 4, Me.Width - 7, Me.Height / 2 - 6, 12)
  510.         e.Graphics.FillPath(brush, path4)
  511.         Dim rect3 = New Rectangle(4, Me.Height / 2, Me.Width - 6, Me.Height / 2 - 6)
  512.         Dim brush3 As New LinearGradientBrush(rect2, Color.FromArgb(32, 32, 34), Color.FromArgb(22, 23, 23), 90.0!)
  513.         Dim path5 As GraphicsPath = Me.CreateRound(4, Me.Height / 2 + 6, Me.Width - 6, Me.Height / 2 - 20, 12)
  514.         e.Graphics.FillPath(brush3, path5)
  515.         ' e.Graphics.DrawImage(Me.Speaker_Cone, rect)
  516.         Dim num As Integer = Me._Volume
  517.         rect = New Rectangle(&H8, 6, 100, 20)
  518.  
  519.         e.Graphics.DrawString(VolString, New Font("Arial", 8, FontStyle.Regular), New SolidBrush(Color.FromArgb(255, 255, 255)), rect)
  520.         rect = New Rectangle(Me.Width - &H23, 6, 100, 20)
  521.         e.Graphics.DrawString(VolString2, New Font("Arial", 8, FontStyle.Regular), New SolidBrush(Color.FromArgb(255, 255, 255)), rect)
  522.  
  523.         'If (num > 80) Then
  524.         '    rect = New Rectangle(&H16, 4, 11, 20)
  525.         '    e.Graphics.DrawImage(Me.Volume_Maximum, rect)
  526.         'ElseIf (num > 50) Then
  527.         '    rect = New Rectangle(&H16, 4, 11, 20)
  528.         '    e.Graphics.DrawImage(Me.Volume_Medium, rect)
  529.         'ElseIf (num > 0) Then
  530.         '    rect = New Rectangle(&H16, 4, 11, 20)
  531.         '    e.Graphics.DrawImage(Me.Volume_Silent, rect)
  532.         'Else
  533.         '    rect = New Rectangle(&H17, 10, 7, 7)
  534.         '    e.Graphics.DrawImage(Me.Volume_Mute, rect)
  535.         'End If
  536.         e.Graphics.SmoothingMode = SmoothingMode.HighQuality
  537.         Dim path6 As GraphicsPath = Me.CreateRound(&H2B, 10, (Me.Width - &H38 - 30), 7, 6)
  538.         'e.Graphics.FillPath(New SolidBrush(Color.FromArgb(30, 30, 30)), path2)
  539.         e.Graphics.DrawPath(Pens.Black, path6)
  540.         Dim path As GraphicsPath = Me.CreateRound(CInt(Math.Round(CDbl((43 + ((CDbl(Me._Volume) / Maxnum) * (Me.Width - &H67)))))), 10, &H10, 7, 6)
  541.         rect = New Rectangle(CInt(Math.Round(CDbl((47 + ((CDbl(Me._Volume) / Maxnum) * (Me.Width - &H47)))))), 0, &H10, 26) ' 7 ' 10
  542.         Dim brush4 As New LinearGradientBrush(rect, Color.FromArgb(251, 83, 150), Color.FromArgb(225, 53, 126), 90.0!) 'Want Color.FromArgb(251, 83, 150), Color.FromArgb(225, 53, 126
  543.         e.Graphics.FillPath(brush4, path)
  544.         e.Graphics.DrawPath(New Pen(Color.FromArgb(100, Color.Black)), path)
  545.         ' e.Graphics.FillRectangle(New SolidBrush(Color.FromArgb(185, 31, 31)), New Rectangle(34, 10, rect.X - 28, 7))
  546.         'e.Graphics.FillRectangle(New SolidBrush(Color.FromArgb(221, 221, 221)), rect)
  547.         e.Graphics.DrawString("7", New Font("Webdings", 32, FontStyle.Regular), New SolidBrush(Color.FromArgb(255, 255, 255)), New Rectangle(Me.Width / 2 - 90, Me.Height / 2 - 20, 40, 40))
  548.         e.Graphics.DrawString("8", New Font("Webdings", 32, FontStyle.Regular), New SolidBrush(Color.FromArgb(255, 255, 255)), New Rectangle(Me.Width / 2 + 16, Me.Height / 2 - 20, 50, 40))
  549.         If PlayState2 = True Then
  550.             e.Graphics.DrawString(";", New Font("Webdings", 32, FontStyle.Regular), New SolidBrush(Color.FromArgb(255, 255, 255)), New Rectangle(Me.Width / 2 - 40, Me.Height / 2 - 20, 40, 40))
  551.             MyBase.OnPaint(e)
  552.         Else
  553.             e.Graphics.DrawString("4", New Font("Webdings", 32, FontStyle.Regular), New SolidBrush(Color.FromArgb(255, 255, 255)), New Rectangle(Me.Width / 2 - 40, Me.Height / 2 - 20, 40, 40))
  554.             MyBase.OnPaint(e)
  555.         End If
  556.     End Sub
  557.     Public VolString As String = "00:00"
  558.     Public VolString2 As String = "00:00"
  559.     Public PlayState2 As Boolean = False
  560.     <PropertyTab("PlayState")> _
  561.  <DisplayName("PlayState")> _
  562.     Public Property Onoff() As Boolean
  563.         Get
  564.             Return PlayState2
  565.         End Get
  566.         Set(value As Boolean)
  567.             PlayState2 = value
  568.         End Set
  569.     End Property
  570.     <PropertyTab("Volumetext")> _
  571.  <DisplayName("Volumetext")> _
  572.     Public Property Icons() As String
  573.         Get
  574.             Return VolString
  575.         End Get
  576.         Set(value As String)
  577.             VolString = value
  578.         End Set
  579.     End Property
  580.     <PropertyTab("Volumetext2")> _
  581. <DisplayName("Volumetext2")> _
  582.     Public Property Icons2() As String
  583.         Get
  584.             Return VolString2
  585.         End Get
  586.         Set(value As String)
  587.             VolString2 = value
  588.         End Set
  589.     End Property
  590.  
  591.     Public Property Destination As Integer
  592.         Get
  593.             Return Me._Volume
  594.         End Get
  595.         Set(ByVal value As Integer)
  596.             If (value <= Maxnum) Then
  597.                 Me._Volume = value
  598.             Else
  599.                 Me._Volume = Maxnum
  600.             End If
  601.             If (value < 0) Then
  602.                 Me._Volume = 0
  603.             End If
  604.             Me.Invalidate()
  605.         End Set
  606.     End Property
  607.  
  608.  
  609.  
  610.  
  611. End Class
Advertisement
Add Comment
Please, Sign In to add comment