Advertisement
MephobiaHF

★ [Vb.Net] Excision Theme [GDI+] [Clean] [Source] ★

Dec 19th, 2012
5,144
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VB.NET 59.85 KB | None | 0 0
  1. Imports System.Drawing.Drawing2D
  2. Imports System.ComponentModel
  3.  
  4. 'PLEASE LEAVE CREDITS IN SOURCE, DO NOT REDISTRIBUTE!
  5.  
  6. '--------------------- [ Theme ] --------------------
  7. 'Creator: Mephobia & Tedd
  8. 'Contact: Mephobia.HF (Skype)
  9. 'Created: 12.17.2012
  10. 'Changed: 12.17.2012
  11. '-------------------- [ /Theme ] ---------------------
  12.  
  13. 'PLEASE LEAVE CREDITS IN SOURCE, DO NOT REDISTRIBUTE!
  14.  
  15. Enum MouseState As Byte
  16.     None = 0
  17.     Over = 1
  18.     Down = 2
  19.     Block = 3
  20. End Enum
  21. Module Draw
  22.     Public Function RoundRect(ByVal Rectangle As Rectangle, ByVal Curve As Integer) As GraphicsPath
  23.         Dim P As GraphicsPath = New GraphicsPath()
  24.         Dim ArcRectangleWidth As Integer = Curve * 2
  25.         P.AddArc(New Rectangle(Rectangle.X, Rectangle.Y, ArcRectangleWidth, ArcRectangleWidth), -180, 90)
  26.         P.AddArc(New Rectangle(Rectangle.Width - ArcRectangleWidth + Rectangle.X, Rectangle.Y, ArcRectangleWidth, ArcRectangleWidth), -90, 90)
  27.         P.AddArc(New Rectangle(Rectangle.Width - ArcRectangleWidth + Rectangle.X, Rectangle.Height - ArcRectangleWidth + Rectangle.Y, ArcRectangleWidth, ArcRectangleWidth), 0, 90)
  28.         P.AddArc(New Rectangle(Rectangle.X, Rectangle.Height - ArcRectangleWidth + Rectangle.Y, ArcRectangleWidth, ArcRectangleWidth), 90, 90)
  29.         P.AddLine(New Point(Rectangle.X, Rectangle.Height - ArcRectangleWidth + Rectangle.Y), New Point(Rectangle.X, Curve + Rectangle.Y))
  30.         Return P
  31.     End Function
  32.     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
  33.         Dim Rectangle As Rectangle = New Rectangle(X, Y, Width, Height)
  34.         Dim P As GraphicsPath = New GraphicsPath()
  35.         Dim ArcRectangleWidth As Integer = Curve * 2
  36.         P.AddArc(New Rectangle(Rectangle.X, Rectangle.Y, ArcRectangleWidth, ArcRectangleWidth), -180, 90)
  37.         P.AddArc(New Rectangle(Rectangle.Width - ArcRectangleWidth + Rectangle.X, Rectangle.Y, ArcRectangleWidth, ArcRectangleWidth), -90, 90)
  38.         P.AddArc(New Rectangle(Rectangle.Width - ArcRectangleWidth + Rectangle.X, Rectangle.Height - ArcRectangleWidth + Rectangle.Y, ArcRectangleWidth, ArcRectangleWidth), 0, 90)
  39.         P.AddArc(New Rectangle(Rectangle.X, Rectangle.Height - ArcRectangleWidth + Rectangle.Y, ArcRectangleWidth, ArcRectangleWidth), 90, 90)
  40.         P.AddLine(New Point(Rectangle.X, Rectangle.Height - ArcRectangleWidth + Rectangle.Y), New Point(Rectangle.X, Curve + Rectangle.Y))
  41.         Return P
  42.     End Function
  43.  
  44. End Module
  45. Public Class ImageToCodeClass
  46.     Public Function ImageToCode(ByVal Img As Bitmap) As String
  47.         Return Convert.ToBase64String(DirectCast(System.ComponentModel.TypeDescriptor.GetConverter(Img).ConvertTo(Img, GetType(Byte())), Byte()))
  48.     End Function
  49.  
  50.     Public Function CodeToImage(ByVal Code As String) As Image
  51.         Return Image.FromStream(New System.IO.MemoryStream(Convert.FromBase64String(Code)))
  52.     End Function
  53. End Class
  54. Public Class ExcisionTheme : Inherits ContainerControl
  55.     Private CreateRoundPath As GraphicsPath
  56.     Private CreateRoundRectangle As Rectangle
  57.  
  58.     Function CreateRound(ByVal x As Integer, ByVal y As Integer, ByVal width As Integer, ByVal height As Integer, ByVal slope As Integer) As GraphicsPath
  59.         CreateRoundRectangle = New Rectangle(x, y, width, height)
  60.         Return CreateRound(CreateRoundRectangle, slope)
  61.     End Function
  62.  
  63.     Function CreateRound(ByVal r As Rectangle, ByVal slope As Integer) As GraphicsPath
  64.         CreateRoundPath = New GraphicsPath(FillMode.Winding)
  65.         CreateRoundPath.AddArc(r.X, r.Y, slope, slope, 180.0F, 90.0F)
  66.         CreateRoundPath.AddArc(r.Right - slope, r.Y, slope, slope, 270.0F, 90.0F)
  67.         CreateRoundPath.AddArc(r.Right - slope, r.Bottom - slope, slope, slope, 0.0F, 90.0F)
  68.         CreateRoundPath.AddArc(r.X, r.Bottom - slope, slope, slope, 90.0F, 90.0F)
  69.         CreateRoundPath.CloseFigure()
  70.         Return CreateRoundPath
  71.     End Function
  72.     Sub New()
  73.         SetStyle(ControlStyles.UserPaint Or ControlStyles.SupportsTransparentBackColor, True)
  74.         BackColor = Color.FromArgb(25, 25, 25)
  75.         DoubleBuffered = True
  76.     End Sub
  77.  
  78.     Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs)
  79.         Dim B As New Bitmap(Width, Height)
  80.         Dim G As Graphics = Graphics.FromImage(B)
  81.  
  82.         Dim CR As New Rectangle(0, 0, Width - 1, 35)
  83.         Dim Main As New Rectangle(0, 35, Width, Height - 35)
  84.  
  85.         MyBase.OnPaint(e)
  86.  
  87.         G.Clear(Color.Fuchsia)
  88.  
  89.         G.CompositingQuality = CompositingQuality.HighQuality
  90.  
  91.         Dim itc As New ImageToCodeClass
  92.         Dim BG As Bitmap = itc.CodeToImage("/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAIBAQIBAQICAgICAgICAwUDAwMDAwYEBAMFBwYHBwcGBwcICQsJCAgKCAcHCg0KCgsMDAwMBwkODw0MDgsMDAz/2wBDAQICAgMDAwYDAwYMCAcIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCABuANEDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD8yJQWwSWYg8cDA44pS4XaAA3HOeAPxpQ26TC5GAcA8f54oVgqrwCRyfSg0Dywit8rojfzz14pUQliFwUbjA5P4UiEyjcVbg+vNDnY44CgN940AKzsqEoM46DBz6UyZQQpALEH5sA5pwygDbQQTgMAcHmiLCsCoILN24/rQA5WKspcggHofcVGWaQAZJAGBnginMHPJUlskZxk1JJKGXBR2xk4xjp70ARjLxhl5K/44oyEwuNrYznqKUAiMHfjI4GMkd6Yqho8AlWY9egoAkJCZyA5HI5x/k0YG0DIIYd+KCQqAk7lBwTtzTWUEFWbAHOR6fSgAKksAwYMDxnnP5U7mNs4LHPPcY/nSAjb/dx3I6j86Rx5Zyq4DHA2k/NQAYG7Dbgo5xxgUINzEsFUHkcFqBGylQVJMnUAYzSQbhwpDEcY7gUAKsoRcAvgE4x3+v6UiIysAVIXHPvzRKCYcFcEnbnPSnBDINpUDA4yBnr60AErFDkg4ApC5IZSATnGO2OP/r0Bw4KliNpwB2pclcyBSSMY/kaAG7SrgAbip47ds0sgZAMEKANuMZJ5/nS7jtIKgknOeQOgFAB+b5yRH0xQA18v0JOe3Q59KaAMjBA3dj2/yakZB5gcjLL09M4600nywchSW64/pQA1FLgJkhgecHH+RUhQkMWU9AOMYpGiLEFcZUd+/p+tIZGLZQBSuSSORmgA+yp6v+Qop2Zv75ooASaVpMAkrkHsD2pFU8AsVXoPzpOoUdeeMccU9W4G5ck4wKAERVVgAWYMc5IzinFSSOQxGOM/0ppcl1DLhen1pAu1mUkkZ5A6igBG3uxzknPbPP4UvDLhgcdh0PXn9KWRAy4yRk9MZFND4DKuCB+AFADztfORtA6D2psQaMEg4XPpTmdGVSWDM38Rx8v4U1nGOACBjOWx+lAClHZT1VR/FkZoX5VYbwwP5/nRuUbdu0qTwcf1py8k4wQAeQelADHztZSuSuT06j/GnvtUMFG5jj8sU2R/PUbgAR0z1PIoZWMeRwM5wO/t9KAG7mcgAjIGOfSnOykAnaSOBxnA9qAQAFAYqOenOaUqUVgyj6DqKAEt08sEllIXGDg5/wA80hbeEAOduMkcetLvw7HBKk5I6Y6URqRvB2oCB7mgAkAUMABkc8ckfWlLBoSGGRnoD/nvQyDKZOCx5OR83am/MCSADjIxnrQANhWDFgQeAPQ0oUHBJZ3OeegFBQ4AwOBnIPeky5TadmCR9aAAJ82wgNjPTNK5KuQxDA4JoRihI3AbuAKVpVVsFgGA7dDQAKNqsCCwUcqPrQQxAIUBR2YEU3AeMFcELyOpA/KnFi7qdpXI5JBAoAA21xg7i/8Ae4xSPlDtIKgjPHQ0Lu84bioBBI5pBgDcFKluAeuaAJftCeh/KiofJb1/SigBwA3ISwz1GOlOXLKpYnIPGKbgxoEIAbOQOtBfBBYnOBgYyM0AI7jc7Ec9MHoKcUaPLqcnocdzimtKIwxIBJxwF560rLnAJJJPbpQAvDOhOMMPUcUhYJJlzn0xSuwKAEKpOcYXFR7jICSCQvA+lAEqEP8AKQQMZ4IHNMOeGJGBng/p2pCwWIncoJ5PGRTySCQMMTjjOAaAEVpCUAwSexGAtOlZSVbO0t39KSOIgOobLt69B+NKq/JtYlQPu8Z45/8ArUARkqAcY2k/UmnBwcgkBRgjJwetCjMrkEuhHT09xTVC8EkKzDB3dKAHzMoUZYtkHv0pM5m2bcBQG3Z5NIwEeRuLZ5AJ4PH096dGm5gATnAPP1oAVGLMFAVR3JIJNNkCqx2YBPPA6+tEkjNIR8pU9OB2pyx7wGIwMZ47fhQAyONQxBwCOny5OaUbQGPBI6fLijPyttHzL1JODRsAmBJIXjqc0AIYyWyAqqpz15/zzTsDzeCQDggighVIJIJHDeh4ohkYAgYAPTHJoASYsygDLkk9hRuKbjkgL6jj9KRgGALBjk9Vp5RVCqACckZ6j05oAjVT0UDk8Z6GneYc5YBGPb147c+9HlHJIUkr3OMYzQQI41YkDdx8oz2AoAcWjVdwIBPGMZJpqEdCDjqOcH8qbIQVU5Jx8vI4+v1oGVXey7vrwKAJPNHoaKi82P8AufqKKAByUIICoAem7lqecIULE5Izxz0oOM44YLyaFUYUkkE/XIoAFBIdQyyEksDjIznGKEBjYoMjrtJ4HNDOJgBldoPp/WlD7GABLHd06igBWKouWUkL3/z71HKpXaRld559OtKpUHBHPcED1oRVBJbawLfxYFADl2yOoK7QSRkcHpTGYbQAgBC+mc0rSBuRkD07EipHSNVBBVAO/XpQA0kiNRztIwR09qFJ2BdxZj823ofehAyx4VMqR68HmmMCyFvlZicAHgigCTYEyWJQrz06/wD1qNpwCeGIyCBnsKCDgZBGeMhhgU3DMABwynHPBoACxmPBU4OCByf89KcJMONxABOMDrSZ3gEncV46jFDsULAsWA9VIAoARV3bVBUBTnOeeaI8uzBdzD6dvxpN2eW438DPJFEbAAb1yB8v/wBegByEKCCUychsnGfw/CmK247WOQRznjHND7fJyDyeMHnJp+Q4O3IIUZIx6/SgBJCoJBAxtH+NDOrRsMEYOOOo6f40r5lTGFOOCe9ISokLNnbwcev+TQAnKFQxIAPPvSnKJtClht5PYHNLkYLYYNnuOnyihiz8MoGzrnjNADXYqSQAMjPXIxTVDJjBJXqpBxninlCJA2cIOSPXjpTQoHLbl7jjAFACAmRFYcnOeST26fXmnk7hgNgAcAnnmkIaNwwBJIy2BnpzTnnCnABYHkgjBoAZ5D/3l/76/wDrUU/zz/zyH50UAI7qDmNQGAPIPtSKGb5QAW9T160hO7aTwR8vPP408bWAySACDQARKYyVJXJPAHeiTJILALn8DSbkLqAcEA9aFdxkbsEng5wP8KAGvIXAAXCqe4zj3zTlBwCpClecnkc8USKQCQFJ98Z/XikyEGCOR04xn8qAHtluFIIB64/WmREgncgbPGcCnsgwpBCluig/e/GmlgPlzyfQZNACFyw2qAzDt2pYwUU5XaR0IPApxLKAjM/PbjmgLgkcg4PXI7UAMdgYWBzweT3Hv/k06SMKrszdMAfl1olKygsgwSCDgZ4yM01ycbgO45PYY/nQAhkJwQpwFAO3P58U+QBgpOQE6dM59TmkAVccgMeck8YpNoKHJIA6E9DQA6Au7AupDR47DBpN3llNvys2Mg/jRuAJUkBWOQfxFJD8wcLubAFACyZCHJyM5HGM07f+7yG2kdyMU0gsQdwJfqD2+n403cFyDkr3oAUIVkztIBwcjuaXBKjcUQMD8vBPWmuu4KCTnG7Bpwf5MBXDdjjigBAD0IKtzztApcnc6kFd5HPWljJ3sxUkjjJpXQE5IzxyCcYoARSWUkkAevcUjgHaCGYDqwGaGyUJwTn7xxnP+FOJXcoUZDdgBmgADFHO4AZ6Ac5pmAMgYJPXPWhG3zAAMNvPSlZt5LFg4H4UATYX+8Pzoqrhv7pooAkCHcpAIA7HqaUfOFIAXB78U1R+6VssxXgH1pwbJBGAoG7rgmgBGKlyQQVHTHJo5SRmZchuSDxig7drliQDg8kAdaVi+wjoC3Q0AGQ7qARzyO9NRR5jYGwd8nrTm+ZAVLnb03EH8sVHIwlwc4C8fX3oAkCKwChsEfMNxP5U05PGGKHOSCccUoLKhYBuenrQ2ACGyBx9R3oAarJhBsOO2Dkn61Kw2ZK8huAM5zTYw4VnI5H3cDJFCoZkAAyU75xn3/IUANII3Akkjv0Ap27I2jHHfsaaVAlKMAFXkHPfHQ0ioW+YFiGUY29aAHuNoyNqkjtzmhpN0hUsC4wWGOMYprqxB3nIXvySKcikuGBGcAcHnFACKUZiB87Hrg8D6UsitGTyzD64FDyhZCq7wB33cUbDIwIyTjPI60AIgeQ4LOdnPUAf/XpQrAMSWwvXJB+tIcLliQzDqOtIEJm2jaQecgHvQAEtuABYgHBOO3pTipEmODgjjpnmjac5JIDdR6Hr/SiFlOSVJK+vANADZiEAONjAnvjvRtDOSQSR1KnLUHLYIYLz0antEdoBY7m4IxgmgCNcKpB+Y9Dxk/5/GnKyOSyBSBx2GOKQEoc7gAvYdevWlKkqrMCRjjJAHQUAPMZGGJJAXGQcYpiYYAEr8p+v60kikovHHfBzz/hSI46k7QPSgCXcvqtFRfL/AM9RRQAPJ84YkvtOCSMBaXZuZckDgHBOKUrv2gls89D7dKTaZNuSCBwAelACFAyuHQhlJIAPUdKchOSGwXXOB3NDuEYBSwYnBJOe/vTkxkEgdeo4NACGMNtLNgr2H0zUbfu8gAEP0HencSja2SG+meDSL+/O1iQFOBjHFADjCspCq33sjnpSFgoBDsTt57YpxyrALgAHr3oltxCgYnd0HSgBd+3DZAZgfm9KCxMYLBVB7+x/yaEX90MnORwehHNR7+SwJUKMYHI60APiRuSvIzznoB/jRsD4YAnHOAcdhxTmQyruG3BH0z+VMklIVcjcRxg8igAkwxUgHnjOenb+gp6MBIMALjC8/WmqvBYZC9xknP500SK+cgqFORg0AABO0AFnBOcc9acHIyrbQBx1xSFirNkkEDjnINLaqDgr8pK80AEYwrZDYftjOKTcZMAgqxAx+dI4ZUJ3H5vmODinvb+TH5gUYwO/v9KAGyKDkbjggHPbNLgBCVIyOAT0NJKoZAwyGI/LigR5mKdAxz+n/wBagBFJZVUgEZ5PpSl9igM2HI3D16//AFqV4wSWYAhSB/46KGwwUDIDH60ABm2MwBJzwQBg1HuLYVgCU9c5/SnMx89Izkhsj6DH86RVLccFUJ69+KAEOGVTt4z2Xnp1p7cptABCjqO9NXCMBgFGwQPTnpUgC7gvILHAweBigCDa391v1oq1gf3nooA//9k=")
  93.         Dim BGT As New TextureBrush(BG, WrapMode.TileFlipXY)
  94.         G.FillRectangle(BGT, Main)
  95.  
  96.  
  97.         Dim lbb As New LinearGradientBrush(CR, Color.FromArgb(68, 68, 68), Color.FromArgb(45, 45, 45), 90S)
  98.         G.FillRectangle(lbb, CR)
  99.         G.DrawRectangle(New Pen(New SolidBrush(Color.FromArgb(26, 26, 26))), CR)
  100.  
  101.         G.DrawLine(New Pen(New SolidBrush(Color.FromArgb(70, 70, 70))), 0, 36, Width - 1, 36)
  102.  
  103.         G.DrawPath(New Pen(New SolidBrush(Color.FromArgb(15, 15, 15))), CreateRound(New Rectangle(0, 0, Width - 1, Height - 1), 10))
  104.         G.DrawPath(New Pen(New SolidBrush(Color.FromArgb(88, 88, 88))), CreateRound(New Rectangle(1, 1, Width - 3, Height - 3), 10))
  105.  
  106.         Dim drawFont As New Font("Tahoma", 10, FontStyle.Bold)
  107.         G.DrawString(FindForm.Text, drawFont, Brushes.WhiteSmoke, 12, 10)
  108.  
  109.         '////left upper corner
  110.         G.FillRectangle(Brushes.Fuchsia, 0, 0, 1, 1)
  111.         G.FillRectangle(Brushes.Fuchsia, 1, 0, 1, 1)
  112.         G.FillRectangle(Brushes.Fuchsia, 2, 0, 1, 1)
  113.         G.FillRectangle(Brushes.Fuchsia, 3, 0, 1, 1)
  114.         G.FillRectangle(Brushes.Fuchsia, 0, 1, 1, 1)
  115.         G.FillRectangle(Brushes.Fuchsia, 0, 2, 1, 1)
  116.         G.FillRectangle(Brushes.Fuchsia, 0, 3, 1, 1)
  117.         G.FillRectangle(Brushes.Fuchsia, 1, 1, 1, 1)
  118.         ''////right upper corner
  119.         G.FillRectangle(Brushes.Fuchsia, Width - 1, 0, 1, 1)
  120.         G.FillRectangle(Brushes.Fuchsia, Width - 2, 0, 1, 1)
  121.         G.FillRectangle(Brushes.Fuchsia, Width - 3, 0, 1, 1)
  122.         G.FillRectangle(Brushes.Fuchsia, Width - 4, 0, 1, 1)
  123.         G.FillRectangle(Brushes.Fuchsia, Width - 1, 1, 1, 1)
  124.         G.FillRectangle(Brushes.Fuchsia, Width - 1, 2, 1, 1)
  125.         G.FillRectangle(Brushes.Fuchsia, Width - 1, 3, 1, 1)
  126.         G.FillRectangle(Brushes.Fuchsia, Width - 2, 1, 1, 1)
  127.         ''////left bottom corner
  128.         G.FillRectangle(Brushes.Fuchsia, 0, Height - 1, 1, 1)
  129.         G.FillRectangle(Brushes.Fuchsia, 0, Height - 2, 1, 1)
  130.         G.FillRectangle(Brushes.Fuchsia, 0, Height - 3, 1, 1)
  131.         G.FillRectangle(Brushes.Fuchsia, 0, Height - 4, 1, 1)
  132.         G.FillRectangle(Brushes.Fuchsia, 1, Height - 1, 1, 1)
  133.         G.FillRectangle(Brushes.Fuchsia, 2, Height - 1, 1, 1)
  134.         G.FillRectangle(Brushes.Fuchsia, 3, Height - 1, 1, 1)
  135.         G.FillRectangle(Brushes.Fuchsia, 1, Height - 1, 1, 1)
  136.         'G.FillRectangle(Brushes.Fuchsia, 2, Height - 2, 1, 1)
  137.         ''////right bottom corner
  138.         G.FillRectangle(Brushes.Fuchsia, Width - 1, Height, 1, 1)
  139.         G.FillRectangle(Brushes.Fuchsia, Width - 2, Height, 1, 1)
  140.         G.FillRectangle(Brushes.Fuchsia, Width - 3, Height, 1, 1)
  141.         G.FillRectangle(Brushes.Fuchsia, Width - 4, Height, 1, 1)
  142.         G.FillRectangle(Brushes.Fuchsia, Width - 1, Height - 1, 1, 1)
  143.         G.FillRectangle(Brushes.Fuchsia, Width - 1, Height - 2, 1, 1)
  144.         G.FillRectangle(Brushes.Fuchsia, Width - 1, Height - 3, 1, 1)
  145.         G.FillRectangle(Brushes.Fuchsia, Width - 2, Height - 1, 1, 1)
  146.         G.FillRectangle(Brushes.Fuchsia, Width - 3, Height - 1, 1, 1)
  147.  
  148.  
  149.         e.Graphics.DrawImage(B.Clone(), 0, 0)
  150.         G.Dispose() : B.Dispose()
  151.     End Sub
  152.     Private MouseP As Point = New Point(0, 0)
  153.     Private Cap As Boolean = False
  154.     Private MoveHeight% = 35 : Private pos% = 0
  155.     Protected Overrides Sub OnMouseDown(ByVal e As System.Windows.Forms.MouseEventArgs)
  156.         MyBase.OnMouseDown(e)
  157.         If e.Button = Windows.Forms.MouseButtons.Left And New Rectangle(0, 0, Width, MoveHeight).Contains(e.Location) Then
  158.             Cap = True : MouseP = e.Location
  159.         End If
  160.     End Sub
  161.     Protected Overrides Sub OnMouseUp(ByVal e As System.Windows.Forms.MouseEventArgs)
  162.         MyBase.OnMouseUp(e) : Cap = False
  163.     End Sub
  164.     Protected Overrides Sub OnMouseMove(ByVal e As System.Windows.Forms.MouseEventArgs)
  165.         MyBase.OnMouseMove(e)
  166.         If Cap Then
  167.             Parent.Location = MousePosition - MouseP
  168.         End If
  169.     End Sub
  170.     Protected Overrides Sub OnCreateControl()
  171.         MyBase.OnCreateControl()
  172.         Me.ParentForm.FormBorderStyle = FormBorderStyle.None
  173.         Me.ParentForm.TransparencyKey = Color.Fuchsia
  174.         Dock = DockStyle.Fill
  175.     End Sub
  176. End Class
  177. Public Class ExcisionButtonDefault : Inherits Control
  178. #Region " MouseStates "
  179.     Dim State As MouseState = MouseState.None
  180.     Protected Overrides Sub OnMouseDown(ByVal e As System.Windows.Forms.MouseEventArgs)
  181.         MyBase.OnMouseDown(e)
  182.         State = MouseState.Down : Invalidate()
  183.     End Sub
  184.     Protected Overrides Sub OnMouseUp(ByVal e As System.Windows.Forms.MouseEventArgs)
  185.         MyBase.OnMouseUp(e)
  186.         State = MouseState.Over : Invalidate()
  187.     End Sub
  188.     Protected Overrides Sub OnMouseEnter(ByVal e As System.EventArgs)
  189.         MyBase.OnMouseEnter(e)
  190.         State = MouseState.Over : Invalidate()
  191.     End Sub
  192.     Protected Overrides Sub OnMouseLeave(ByVal e As System.EventArgs)
  193.         MyBase.OnMouseLeave(e)
  194.         State = MouseState.None : Invalidate()
  195.     End Sub
  196. #End Region
  197.  
  198.     Sub New()
  199.         SetStyle(ControlStyles.UserPaint Or ControlStyles.SupportsTransparentBackColor, True)
  200.         BackColor = Color.Transparent
  201.         ForeColor = Color.FromArgb(205, 205, 205)
  202.         DoubleBuffered = True
  203.     End Sub
  204.  
  205.     Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs)
  206.         Dim B As New Bitmap(Width, Height)
  207.         Dim G As Graphics = Graphics.FromImage(B)
  208.         Dim ClientRectangle As New Rectangle(0, 0, Width - 1, Height - 1)
  209.         Dim InnerRect As New Rectangle(1, 1, Width - 3, Height - 3)
  210.  
  211.  
  212.         MyBase.OnPaint(e)
  213.  
  214.         G.Clear(BackColor)
  215.         Dim drawFont As New Font("Tahoma", 10, FontStyle.Bold)
  216.  
  217.         'G.CompositingQuality = CompositingQuality.HighQuality
  218.         G.SmoothingMode = SmoothingMode.HighQuality
  219.         Dim cti As New ImageToCodeClass
  220.  
  221.         Dim BUTTONGRAIN As Bitmap = cti.CodeToImage("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")
  222.         Dim BUTTONIMAGE As New TextureBrush(BUTTONGRAIN, WrapMode.TileFlipXY)
  223.         G.FillPath(BUTTONIMAGE, Draw.RoundRect(ClientRectangle, 4))
  224.         Dim p As New Pen(New SolidBrush(Color.FromArgb(117, 120, 117)))
  225.         G.DrawPath(Pens.Black, Draw.RoundRect(ClientRectangle, 4))
  226.         Dim Ip As New Pen(Color.FromArgb(45, Color.White))
  227.         G.DrawPath(Ip, Draw.RoundRect(InnerRect, 4))
  228.  
  229.         Select Case State
  230.             Case MouseState.None
  231.                 G.DrawString(Text, drawFont, New SolidBrush(Color.FromArgb(178, 178, 178)), New Rectangle(0, 1, Width - 1, Height - 1), New StringFormat() With {.Alignment = StringAlignment.Center, .LineAlignment = StringAlignment.Center})
  232.             Case MouseState.Over
  233.                 G.DrawString(Text, drawFont, New SolidBrush(Color.WhiteSmoke), New Rectangle(0, 1, Width - 1, Height - 1), New StringFormat() With {.Alignment = StringAlignment.Center, .LineAlignment = StringAlignment.Center})
  234.             Case MouseState.Down
  235.                 G.DrawString(Text, drawFont, New SolidBrush(Color.FromArgb(178, 178, 178)), New Rectangle(0, 1, Width - 1, Height - 1), New StringFormat() With {.Alignment = StringAlignment.Center, .LineAlignment = StringAlignment.Center})
  236.  
  237.         End Select
  238.  
  239.  
  240.         e.Graphics.DrawImage(B.Clone(), 0, 0)
  241.         G.Dispose() : B.Dispose()
  242.     End Sub
  243. End Class
  244. Public Class ExcisionCircleButton : Inherits Control
  245. #Region " MouseStates "
  246.     Dim State As MouseState = MouseState.None
  247.     Protected Overrides Sub OnMouseDown(ByVal e As System.Windows.Forms.MouseEventArgs)
  248.         MyBase.OnMouseDown(e)
  249.         State = MouseState.Down : Invalidate()
  250.     End Sub
  251.     Protected Overrides Sub OnMouseUp(ByVal e As System.Windows.Forms.MouseEventArgs)
  252.         MyBase.OnMouseUp(e)
  253.         State = MouseState.Over : Invalidate()
  254.     End Sub
  255.     Protected Overrides Sub OnMouseEnter(ByVal e As System.EventArgs)
  256.         MyBase.OnMouseEnter(e)
  257.         State = MouseState.Over : Invalidate()
  258.     End Sub
  259.     Protected Overrides Sub OnMouseLeave(ByVal e As System.EventArgs)
  260.         MyBase.OnMouseLeave(e)
  261.         State = MouseState.None : Invalidate()
  262.     End Sub
  263. #End Region
  264.  
  265.     Sub New()
  266.         SetStyle(ControlStyles.UserPaint Or ControlStyles.SupportsTransparentBackColor, True)
  267.         BackColor = Color.Transparent
  268.         ForeColor = Color.FromArgb(205, 205, 205)
  269.         Size = New Size(64, 64)
  270.         DoubleBuffered = True
  271.     End Sub
  272.  
  273.     Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs)
  274.         Dim B As New Bitmap(Width, Height)
  275.         Dim G As Graphics = Graphics.FromImage(B)
  276.         Dim ClientRectangle As New Rectangle(0, 0, Width - 1, Height - 1)
  277.         Dim InnerRect As New Rectangle(1, 1, Width - 3, Height - 3)
  278.  
  279.  
  280.         MyBase.OnPaint(e)
  281.  
  282.         G.Clear(BackColor)
  283.         Dim drawFont As New Font("Tahoma", 10, FontStyle.Bold)
  284.  
  285.         'G.CompositingQuality = CompositingQuality.HighQuality
  286.         G.SmoothingMode = SmoothingMode.HighQuality
  287.         Dim cti As New ImageToCodeClass
  288.  
  289.         Dim BUTTONGRAIN As Bitmap = cti.CodeToImage("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")
  290.         Dim BUTTONIMAGE As New TextureBrush(BUTTONGRAIN, WrapMode.TileFlipXY)
  291.         G.FillEllipse(BUTTONIMAGE, ClientRectangle)
  292.         Dim p As New Pen(New SolidBrush(Color.FromArgb(117, 120, 117)))
  293.         G.DrawEllipse(Pens.Black, ClientRectangle)
  294.         Dim Ip As New Pen(Color.FromArgb(45, Color.White))
  295.         G.DrawEllipse(Ip, InnerRect)
  296.  
  297.         Select Case State
  298.             Case MouseState.None
  299.                 G.DrawString(Text, drawFont, New SolidBrush(Color.FromArgb(178, 178, 178)), New Rectangle(0, 1, Width - 1, Height - 1), New StringFormat() With {.Alignment = StringAlignment.Center, .LineAlignment = StringAlignment.Center})
  300.             Case MouseState.Over
  301.                 G.DrawString(Text, drawFont, New SolidBrush(Color.WhiteSmoke), New Rectangle(0, 1, Width - 1, Height - 1), New StringFormat() With {.Alignment = StringAlignment.Center, .LineAlignment = StringAlignment.Center})
  302.             Case MouseState.Down
  303.                 G.DrawString(Text, drawFont, New SolidBrush(Color.FromArgb(178, 178, 178)), New Rectangle(0, 1, Width - 1, Height - 1), New StringFormat() With {.Alignment = StringAlignment.Center, .LineAlignment = StringAlignment.Center})
  304.  
  305.         End Select
  306.  
  307.  
  308.         e.Graphics.DrawImage(B.Clone(), 0, 0)
  309.         G.Dispose() : B.Dispose()
  310.     End Sub
  311. End Class
  312. Public Class ExcisionButtonBlue : Inherits Control
  313. #Region " MouseStates "
  314.     Dim State As MouseState = MouseState.None
  315.     Protected Overrides Sub OnMouseDown(ByVal e As System.Windows.Forms.MouseEventArgs)
  316.         MyBase.OnMouseDown(e)
  317.         State = MouseState.Down : Invalidate()
  318.     End Sub
  319.     Protected Overrides Sub OnMouseUp(ByVal e As System.Windows.Forms.MouseEventArgs)
  320.         MyBase.OnMouseUp(e)
  321.         State = MouseState.Over : Invalidate()
  322.     End Sub
  323.     Protected Overrides Sub OnMouseEnter(ByVal e As System.EventArgs)
  324.         MyBase.OnMouseEnter(e)
  325.         State = MouseState.Over : Invalidate()
  326.     End Sub
  327.     Protected Overrides Sub OnMouseLeave(ByVal e As System.EventArgs)
  328.         MyBase.OnMouseLeave(e)
  329.         State = MouseState.None : Invalidate()
  330.     End Sub
  331. #End Region
  332.  
  333.     Sub New()
  334.         SetStyle(ControlStyles.UserPaint Or ControlStyles.SupportsTransparentBackColor, True)
  335.         BackColor = Color.Transparent
  336.         ForeColor = Color.FromArgb(205, 205, 205)
  337.         DoubleBuffered = True
  338.     End Sub
  339.  
  340.     Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs)
  341.         Dim B As New Bitmap(Width, Height)
  342.         Dim G As Graphics = Graphics.FromImage(B)
  343.         Dim ClientRectangle As New Rectangle(0, 0, Width - 1, Height - 1)
  344.         Dim InnerRect As New Rectangle(1, 1, Width - 3, Height - 3)
  345.  
  346.  
  347.         MyBase.OnPaint(e)
  348.  
  349.         G.Clear(BackColor)
  350.         Dim drawFont As New Font("Tahoma", 10, FontStyle.Bold)
  351.  
  352.         'G.CompositingQuality = CompositingQuality.HighQuality
  353.         G.SmoothingMode = SmoothingMode.HighQuality
  354.  
  355.         Select Case State
  356.             Case MouseState.None
  357.                 Dim BBG As New LinearGradientBrush(ClientRectangle, Color.FromArgb(85, 156, 188), Color.FromArgb(58, 136, 175), 90S)
  358.                 G.FillPath(BBG, Draw.RoundRect(ClientRectangle, 4))
  359.                 Dim p As New Pen(New SolidBrush(Color.FromArgb(29, 46, 54)))
  360.                 G.DrawPath(Pens.Black, Draw.RoundRect(ClientRectangle, 4))
  361.                 Dim Ip As New Pen(Color.FromArgb(129, 175, 201))
  362.                 G.DrawPath(Ip, Draw.RoundRect(InnerRect, 4))
  363.             Case MouseState.Over
  364.                 Dim BBG As New LinearGradientBrush(ClientRectangle, Color.FromArgb(45, 105, 135), Color.FromArgb(30, 90, 120), 90S)
  365.                 G.FillPath(BBG, Draw.RoundRect(ClientRectangle, 4))
  366.                 Dim p As New Pen(New SolidBrush(Color.FromArgb(29, 46, 54)))
  367.                 G.DrawPath(Pens.Black, Draw.RoundRect(ClientRectangle, 4))
  368.                 Dim Ip As New Pen(Color.FromArgb(114, 160, 186))
  369.                 G.DrawPath(Ip, Draw.RoundRect(InnerRect, 4))
  370.             Case MouseState.Down
  371.                 Dim BBG As New LinearGradientBrush(ClientRectangle, Color.FromArgb(85, 156, 188), Color.FromArgb(58, 136, 175), 90S)
  372.                 G.FillPath(BBG, Draw.RoundRect(ClientRectangle, 4))
  373.                 Dim p As New Pen(New SolidBrush(Color.FromArgb(29, 46, 54)))
  374.                 G.DrawPath(Pens.Black, Draw.RoundRect(ClientRectangle, 4))
  375.                 Dim Ip As New Pen(Color.FromArgb(129, 175, 201))
  376.                 G.DrawPath(Ip, Draw.RoundRect(InnerRect, 4))
  377.         End Select
  378.         G.DrawString(Text, drawFont, New SolidBrush(Color.WhiteSmoke), New Rectangle(0, 1, Width - 1, Height - 1), New StringFormat() With {.Alignment = StringAlignment.Center, .LineAlignment = StringAlignment.Center})
  379.  
  380.  
  381.         e.Graphics.DrawImage(B.Clone(), 0, 0)
  382.         G.Dispose() : B.Dispose()
  383.     End Sub
  384. End Class
  385. Public Class ExcisionButtonWhite : Inherits Control
  386. #Region " MouseStates "
  387.     Dim State As MouseState = MouseState.None
  388.     Protected Overrides Sub OnMouseDown(ByVal e As System.Windows.Forms.MouseEventArgs)
  389.         MyBase.OnMouseDown(e)
  390.         State = MouseState.Down : Invalidate()
  391.     End Sub
  392.     Protected Overrides Sub OnMouseUp(ByVal e As System.Windows.Forms.MouseEventArgs)
  393.         MyBase.OnMouseUp(e)
  394.         State = MouseState.Over : Invalidate()
  395.     End Sub
  396.     Protected Overrides Sub OnMouseEnter(ByVal e As System.EventArgs)
  397.         MyBase.OnMouseEnter(e)
  398.         State = MouseState.Over : Invalidate()
  399.     End Sub
  400.     Protected Overrides Sub OnMouseLeave(ByVal e As System.EventArgs)
  401.         MyBase.OnMouseLeave(e)
  402.         State = MouseState.None : Invalidate()
  403.     End Sub
  404. #End Region
  405.  
  406.     Sub New()
  407.         SetStyle(ControlStyles.UserPaint Or ControlStyles.SupportsTransparentBackColor, True)
  408.         BackColor = Color.Transparent
  409.         ForeColor = Color.FromArgb(205, 205, 205)
  410.         DoubleBuffered = True
  411.     End Sub
  412.  
  413.     Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs)
  414.         Dim B As New Bitmap(Width, Height)
  415.         Dim G As Graphics = Graphics.FromImage(B)
  416.         Dim ClientRectangle As New Rectangle(0, 0, Width - 1, Height - 1)
  417.         Dim InnerRect As New Rectangle(1, 1, Width - 3, Height - 3)
  418.  
  419.  
  420.         MyBase.OnPaint(e)
  421.  
  422.         G.Clear(BackColor)
  423.         Dim drawFont As New Font("Tahoma", 10, FontStyle.Bold)
  424.  
  425.         'G.CompositingQuality = CompositingQuality.HighQuality
  426.         G.SmoothingMode = SmoothingMode.HighQuality
  427.  
  428.         Select Case State
  429.             Case MouseState.None
  430.                 Dim BBG As New LinearGradientBrush(ClientRectangle, Color.FromArgb(225, 225, 225), Color.FromArgb(210, 210, 210), 90S)
  431.                 G.FillPath(BBG, Draw.RoundRect(ClientRectangle, 4))
  432.                 Dim p As New Pen(New SolidBrush(Color.FromArgb(254, 254, 254)))
  433.                 G.DrawPath(Pens.Black, Draw.RoundRect(ClientRectangle, 4))
  434.                 Dim Ip As New Pen(Color.FromArgb(255, 255, 255))
  435.                 G.DrawPath(Ip, Draw.RoundRect(InnerRect, 4))
  436.                 G.DrawString(Text, drawFont, New SolidBrush(Color.FromArgb(82, 87, 93)), New Rectangle(0, 1, Width - 1, Height - 1), New StringFormat() With {.Alignment = StringAlignment.Center, .LineAlignment = StringAlignment.Center})
  437.             Case MouseState.Over
  438.                 Dim BBG As New LinearGradientBrush(ClientRectangle, Color.FromArgb(222, 222, 222), Color.FromArgb(222, 222, 222), 90S)
  439.                 G.FillPath(BBG, Draw.RoundRect(ClientRectangle, 4))
  440.                 Dim p As New Pen(New SolidBrush(Color.FromArgb(222, 222, 222)))
  441.                 G.DrawPath(Pens.Black, Draw.RoundRect(ClientRectangle, 4))
  442.                 Dim Ip As New Pen(Color.FromArgb(255, 255, 255))
  443.                 G.DrawPath(Ip, Draw.RoundRect(InnerRect, 4))
  444.                 G.DrawString(Text, drawFont, New SolidBrush(Color.FromArgb(85, 85, 85)), New Rectangle(0, 1, Width - 1, Height - 1), New StringFormat() With {.Alignment = StringAlignment.Center, .LineAlignment = StringAlignment.Center})
  445.  
  446.             Case MouseState.Down
  447.                 Dim BBG As New LinearGradientBrush(ClientRectangle, Color.FromArgb(254, 254, 254), Color.FromArgb(248, 246, 247), 90S)
  448.                 G.FillPath(BBG, Draw.RoundRect(ClientRectangle, 4))
  449.                 Dim p As New Pen(New SolidBrush(Color.FromArgb(254, 254, 254)))
  450.                 G.DrawPath(Pens.Black, Draw.RoundRect(ClientRectangle, 4))
  451.                 Dim Ip As New Pen(Color.FromArgb(255, 255, 255))
  452.                 G.DrawPath(Ip, Draw.RoundRect(InnerRect, 4))
  453.                 G.DrawString(Text, drawFont, New SolidBrush(Color.FromArgb(82, 87, 93)), New Rectangle(0, 1, Width - 1, Height - 1), New StringFormat() With {.Alignment = StringAlignment.Center, .LineAlignment = StringAlignment.Center})
  454.         End Select
  455.  
  456.  
  457.         e.Graphics.DrawImage(B.Clone(), 0, 0)
  458.         G.Dispose() : B.Dispose()
  459.     End Sub
  460. End Class
  461. Public Class ExcisionSeparator : Inherits Control
  462. #Region " MouseStates "
  463.     Dim State As MouseState = MouseState.None
  464.     Protected Overrides Sub OnMouseDown(ByVal e As System.Windows.Forms.MouseEventArgs)
  465.         MyBase.OnMouseDown(e)
  466.         State = MouseState.Down : Invalidate()
  467.     End Sub
  468.     Protected Overrides Sub OnMouseUp(ByVal e As System.Windows.Forms.MouseEventArgs)
  469.         MyBase.OnMouseUp(e)
  470.         State = MouseState.Over : Invalidate()
  471.     End Sub
  472.     Protected Overrides Sub OnMouseEnter(ByVal e As System.EventArgs)
  473.         MyBase.OnMouseEnter(e)
  474.         State = MouseState.Over : Invalidate()
  475.     End Sub
  476.     Protected Overrides Sub OnMouseLeave(ByVal e As System.EventArgs)
  477.         MyBase.OnMouseLeave(e)
  478.         State = MouseState.None : Invalidate()
  479.     End Sub
  480. #End Region
  481.     Private _Horizontal As Boolean = True
  482.     Public Property Horizontal() As Boolean
  483.         Get
  484.             Return _Horizontal
  485.         End Get
  486.         Set(ByVal v As Boolean)
  487.             _Horizontal = v
  488.             Invalidate()
  489.         End Set
  490.     End Property
  491.     Sub New()
  492.         SetStyle(ControlStyles.UserPaint Or ControlStyles.SupportsTransparentBackColor Or ControlStyles.FixedHeight, True)
  493.         BackColor = Color.Transparent
  494.         ForeColor = Color.FromArgb(205, 205, 205)
  495.         Height = 4
  496.         DoubleBuffered = True
  497.     End Sub
  498.  
  499.     Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs)
  500.         Dim B As New Bitmap(Width, Height)
  501.         Dim G As Graphics = Graphics.FromImage(B)
  502.  
  503.  
  504.         MyBase.OnPaint(e)
  505.  
  506.         G.Clear(BackColor)
  507.  
  508.         'G.CompositingQuality = CompositingQuality.HighQuality
  509.         G.SmoothingMode = SmoothingMode.HighQuality
  510.         Select Case _Horizontal
  511.             Case True
  512.                 G.DrawLine(New Pen(New SolidBrush(Color.FromArgb(26, 24, 25))), 0, 0, Width - 1, 0)
  513.                 G.DrawLine(New Pen(New SolidBrush(Color.FromArgb(75, 73, 74))), 0, 1, Width - 1, 1)
  514.             Case False
  515.                 G.DrawLine(New Pen(New SolidBrush(Color.FromArgb(26, 24, 25))), 0, 0, 0, Height - 1)
  516.                 G.DrawLine(New Pen(New SolidBrush(Color.FromArgb(75, 73, 74))), 1, 0, 1, Height - 1)
  517.         End Select
  518.  
  519.  
  520.         e.Graphics.DrawImage(B.Clone(), 0, 0)
  521.         G.Dispose() : B.Dispose()
  522.     End Sub
  523. End Class
  524. Public Class ExcisionGroupBox : Inherits ContainerControl
  525.  
  526.     Sub New()
  527.         SetStyle(ControlStyles.UserPaint Or ControlStyles.SupportsTransparentBackColor, True)
  528.         BackColor = Color.Transparent
  529.         DoubleBuffered = True
  530.     End Sub
  531.     Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs)
  532.         Dim B As New Bitmap(Width, Height)
  533.         Dim G As Graphics = Graphics.FromImage(B)
  534.         Dim Top As New Rectangle(0, 0, Width - 1, 45)
  535.         Dim TopInner As New Rectangle(1, 1, Width - 3, 43)
  536.         Dim Bottom As New Rectangle(0, 43, Width - 1, Height - 44)
  537.         Dim BottomInner As New Rectangle(1, 45, Width - 3, Height - 47)
  538.  
  539.         MyBase.OnPaint(e)
  540.  
  541.         G.Clear(Color.Transparent)
  542.         Dim d As New ImageToCodeClass
  543.  
  544.         G.SmoothingMode = SmoothingMode.HighQuality
  545.         G.CompositingQuality = CompositingQuality.HighQuality
  546.  
  547.         Dim GRAINIMAGE2 As Bitmap = d.CodeToImage("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")
  548.         Dim TEXTUREIMAGE2 As New TextureBrush(GRAINIMAGE2, WrapMode.TileFlipXY)
  549.         G.FillPath(TEXTUREIMAGE2, Draw.RoundRect(Bottom, 2))
  550.         G.DrawPath(New Pen(New SolidBrush(Color.FromArgb(26, 24, 25))), Draw.RoundRect(Bottom, 2))
  551.         G.DrawPath(New Pen(New SolidBrush(Color.FromArgb(10, Color.White))), Draw.RoundRect(BottomInner, 2))
  552.  
  553.  
  554.         Dim GRAINIMAGE As Bitmap = d.CodeToImage("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")
  555.         Dim TEXTUREIMAGE As New TextureBrush(GRAINIMAGE, WrapMode.TileFlipXY)
  556.         G.FillPath(TEXTUREIMAGE, Draw.RoundRect(Top, 2))
  557.         G.DrawPath(New Pen(New SolidBrush(Color.FromArgb(26, 24, 25))), Draw.RoundRect(Top, 2))
  558.         G.DrawPath(New Pen(New SolidBrush(Color.FromArgb(10, Color.White))), Draw.RoundRect(TopInner, 2))
  559.  
  560.         G.DrawString(Text, New Font("Tahoma", 10, FontStyle.Bold), New SolidBrush(Color.FromArgb(229, 229, 229)), New Rectangle(14, 14, Width - 1, Height - 1), New StringFormat() With {.Alignment = StringAlignment.Near, .LineAlignment = StringAlignment.Near})
  561.  
  562.  
  563.         e.Graphics.DrawImage(B.Clone(), 0, 0)
  564.         G.Dispose() : B.Dispose()
  565.     End Sub
  566. End Class
  567. Public Class ExcisionPanel : Inherits ContainerControl
  568.  
  569.     Sub New()
  570.         SetStyle(ControlStyles.UserPaint Or ControlStyles.SupportsTransparentBackColor, True)
  571.         BackColor = Color.Transparent
  572.         Size = New Size(100, 45)
  573.         DoubleBuffered = True
  574.     End Sub
  575.     Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs)
  576.         Dim B As New Bitmap(Width, Height)
  577.         Dim G As Graphics = Graphics.FromImage(B)
  578.         Dim MainRect As New Rectangle(0, 0, Width - 1, Height - 1)
  579.  
  580.         MyBase.OnPaint(e)
  581.  
  582.         G.Clear(Color.Transparent)
  583.         Dim d As New ImageToCodeClass
  584.  
  585.         G.SmoothingMode = SmoothingMode.HighQuality
  586.         G.CompositingQuality = CompositingQuality.HighQuality
  587.  
  588.         G.FillPath(New SolidBrush(Color.FromArgb(58, 56, 57)), RoundRect(MainRect, 3))
  589.         G.DrawPath(New Pen(New SolidBrush(Color.FromArgb(77, 77, 77))), RoundRect(MainRect, 3))
  590.  
  591.         e.Graphics.DrawImage(B.Clone(), 0, 0)
  592.         G.Dispose() : B.Dispose()
  593.     End Sub
  594. End Class
  595. <DefaultEvent("CheckedChanged")> Public Class ExcisionCheckBox : Inherits Control
  596.  
  597. #Region " Control Help - MouseState & Flicker Control"
  598.     Private State As MouseState = MouseState.None
  599.     Protected Overrides Sub OnMouseEnter(ByVal e As System.EventArgs)
  600.         MyBase.OnMouseEnter(e)
  601.         State = MouseState.Over
  602.         Invalidate()
  603.     End Sub
  604.     Protected Overrides Sub OnMouseDown(ByVal e As System.Windows.Forms.MouseEventArgs)
  605.         MyBase.OnMouseDown(e)
  606.         State = MouseState.Down
  607.         Invalidate()
  608.     End Sub
  609.     Protected Overrides Sub OnMouseLeave(ByVal e As System.EventArgs)
  610.         MyBase.OnMouseLeave(e)
  611.         State = MouseState.None
  612.         Invalidate()
  613.     End Sub
  614.     Protected Overrides Sub OnMouseUp(ByVal e As System.Windows.Forms.MouseEventArgs)
  615.         MyBase.OnMouseUp(e)
  616.         State = MouseState.Over
  617.         Invalidate()
  618.     End Sub
  619.     Protected Overrides Sub OnTextChanged(ByVal e As System.EventArgs)
  620.         MyBase.OnTextChanged(e)
  621.         Invalidate()
  622.     End Sub
  623.     Private _Checked As Boolean
  624.     Property Checked() As Boolean
  625.         Get
  626.             Return _Checked
  627.         End Get
  628.         Set(ByVal value As Boolean)
  629.             _Checked = value
  630.             Invalidate()
  631.         End Set
  632.     End Property
  633.     Protected Overrides Sub OnResize(ByVal e As System.EventArgs)
  634.         MyBase.OnResize(e)
  635.         Height = 14
  636.     End Sub
  637.     Protected Overrides Sub OnClick(ByVal e As System.EventArgs)
  638.         _Checked = Not _Checked
  639.         RaiseEvent CheckedChanged(Me)
  640.         MyBase.OnClick(e)
  641.     End Sub
  642.     Event CheckedChanged(ByVal sender As Object)
  643. #End Region
  644.  
  645.  
  646.     Sub New()
  647.         MyBase.New()
  648.         SetStyle(ControlStyles.UserPaint Or ControlStyles.SupportsTransparentBackColor Or ControlStyles.OptimizedDoubleBuffer, True)
  649.         BackColor = Color.Transparent
  650.         ForeColor = Color.Black
  651.         Size = New Size(145, 16)
  652.         DoubleBuffered = True
  653.     End Sub
  654.  
  655.     Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs)
  656.         Dim B As New Bitmap(Width, Height)
  657.         Dim G As Graphics = Graphics.FromImage(B)
  658.         Dim checkBoxRectangle As New Rectangle(0, 0, Height, Height - 1)
  659.         Dim Inner As New Rectangle(1, 1, Height - 2, Height - 3)
  660.  
  661.         G.SmoothingMode = SmoothingMode.HighQuality
  662.         G.CompositingQuality = CompositingQuality.HighQuality
  663.         G.TextRenderingHint = Drawing.Text.TextRenderingHint.AntiAliasGridFit
  664.  
  665.         G.Clear(Color.Transparent)
  666.  
  667.         Dim bodyGrad As New LinearGradientBrush(checkBoxRectangle, Color.FromArgb(60, 60, 60), Color.FromArgb(45, 45, 45), 90S)
  668.         G.FillRectangle(bodyGrad, bodyGrad.Rectangle)
  669.         G.DrawRectangle(New Pen(Color.FromArgb(26, 26, 26)), checkBoxRectangle)
  670.         G.DrawRectangle(New Pen(Color.FromArgb(70, 70, 70)), Inner)
  671.  
  672.         If Checked Then
  673.             Dim t As New Font("Marlett", 10, FontStyle.Regular)
  674.             G.DrawString("a", t, New SolidBrush(Color.FromArgb(222, 222, 222)), -1.5, 0)
  675.         End If
  676.  
  677.         Dim drawFont As New Font("Tahoma", 8, FontStyle.Bold)
  678.         Dim nb As Brush = New SolidBrush(Color.FromArgb(200, 200, 200))
  679.         G.DrawString(Text, drawFont, nb, New Point(18, 7), New StringFormat With {.Alignment = StringAlignment.Near, .LineAlignment = StringAlignment.Center})
  680.  
  681.         e.Graphics.DrawImage(B.Clone(), 0, 0)
  682.         G.Dispose() : B.Dispose()
  683.  
  684.     End Sub
  685.  
  686. End Class
  687. <DefaultEvent("CheckedChanged")> Public Class ExcisionRadioButton : Inherits Control
  688.  
  689. #Region " Control Help - MouseState & Flicker Control"
  690.     Private R1 As Rectangle
  691.     Private G1 As LinearGradientBrush
  692.  
  693.     Private State As MouseState = MouseState.None
  694.     Protected Overrides Sub OnMouseEnter(ByVal e As System.EventArgs)
  695.         MyBase.OnMouseEnter(e)
  696.         State = MouseState.Over
  697.         Invalidate()
  698.     End Sub
  699.     Protected Overrides Sub OnMouseDown(ByVal e As System.Windows.Forms.MouseEventArgs)
  700.         MyBase.OnMouseDown(e)
  701.         State = MouseState.Down
  702.         Invalidate()
  703.     End Sub
  704.     Protected Overrides Sub OnMouseLeave(ByVal e As System.EventArgs)
  705.         MyBase.OnMouseLeave(e)
  706.         State = MouseState.None
  707.         Invalidate()
  708.     End Sub
  709.     Protected Overrides Sub OnMouseUp(ByVal e As System.Windows.Forms.MouseEventArgs)
  710.         MyBase.OnMouseUp(e)
  711.         State = MouseState.Over
  712.         Invalidate()
  713.     End Sub
  714.     Protected Overrides Sub OnResize(ByVal e As System.EventArgs)
  715.         MyBase.OnResize(e)
  716.         Height = 16
  717.     End Sub
  718.     Protected Overrides Sub OnTextChanged(ByVal e As System.EventArgs)
  719.         MyBase.OnTextChanged(e)
  720.         Invalidate()
  721.     End Sub
  722.     Private _Checked As Boolean
  723.     Property Checked() As Boolean
  724.         Get
  725.             Return _Checked
  726.         End Get
  727.         Set(ByVal value As Boolean)
  728.             _Checked = value
  729.             InvalidateControls()
  730.             RaiseEvent CheckedChanged(Me)
  731.             Invalidate()
  732.         End Set
  733.     End Property
  734.     Protected Overrides Sub OnClick(ByVal e As EventArgs)
  735.         If Not _Checked Then Checked = True
  736.         MyBase.OnClick(e)
  737.     End Sub
  738.     Event CheckedChanged(ByVal sender As Object)
  739.     Protected Overrides Sub OnCreateControl()
  740.         MyBase.OnCreateControl()
  741.         InvalidateControls()
  742.     End Sub
  743.     Private Sub InvalidateControls()
  744.         If Not IsHandleCreated OrElse Not _Checked Then Return
  745.  
  746.         For Each C As Control In Parent.Controls
  747.             If C IsNot Me AndAlso TypeOf C Is ExcisionRadioButton Then
  748.                 DirectCast(C, ExcisionRadioButton).Checked = False
  749.             End If
  750.         Next
  751.     End Sub
  752. #End Region
  753.  
  754.     Sub New()
  755.         MyBase.New()
  756.         SetStyle(ControlStyles.UserPaint Or ControlStyles.SupportsTransparentBackColor, True)
  757.         BackColor = Color.Transparent
  758.         ForeColor = Color.Black
  759.         Size = New Size(150, 16)
  760.         DoubleBuffered = True
  761.     End Sub
  762.  
  763.     Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs)
  764.         Dim B As New Bitmap(Width, Height)
  765.         Dim G As Graphics = Graphics.FromImage(B)
  766.         Dim radioBtnRectangle = New Rectangle(0, 0, Height, Height - 1)
  767.         Dim Inner As New Rectangle(1, 1, Height - 2, Height - 3)
  768.  
  769.         G.SmoothingMode = SmoothingMode.HighQuality
  770.         G.CompositingQuality = CompositingQuality.HighQuality
  771.         G.TextRenderingHint = Drawing.Text.TextRenderingHint.AntiAliasGridFit
  772.  
  773.         G.Clear(BackColor)
  774.  
  775.         Dim bgGrad As New LinearGradientBrush(radioBtnRectangle, Color.FromArgb(60, 60, 60), Color.FromArgb(45, 45, 45), 90S)
  776.         G.FillEllipse(bgGrad, radioBtnRectangle)
  777.  
  778.         G.DrawEllipse(New Pen(Color.FromArgb(26, 26, 26)), radioBtnRectangle)
  779.         G.DrawEllipse(New Pen(Color.FromArgb(70, 70, 70)), Inner)
  780.  
  781.         If Checked Then
  782.             Dim t As New Font("Marlett", 6, FontStyle.Bold)
  783.             G.DrawString("n", t, New SolidBrush(Color.FromArgb(222, 222, 222)), 3, 4)
  784.         End If
  785.  
  786.         Dim drawFont As New Font("Tahoma", 8, FontStyle.Bold)
  787.         Dim nb As Brush = New SolidBrush(Color.FromArgb(200, 200, 200))
  788.         G.DrawString(Text, drawFont, nb, New Point(18, 7), New StringFormat With {.Alignment = StringAlignment.Near, .LineAlignment = StringAlignment.Center})
  789.  
  790.         e.Graphics.DrawImage(B.Clone(), 0, 0)
  791.         G.Dispose() : B.Dispose()
  792.     End Sub
  793.  
  794. End Class
  795. Public Class ExcisionControlBox : Inherits Control
  796.     Sub New()
  797.         SetStyle(ControlStyles.UserPaint Or ControlStyles.SupportsTransparentBackColor, True)
  798.         BackColor = Color.Transparent
  799.         ForeColor = Color.FromArgb(205, 205, 205)
  800.         Size = New Size(65, 26)
  801.         DoubleBuffered = True
  802.     End Sub
  803. #Region " MouseStates "
  804.     Dim State As MouseState = MouseState.None
  805.     Dim X As Integer
  806.     Dim MinBtn As New Rectangle(0, 0, 32, 25)
  807.     Dim CloseBtn As New Rectangle(33, 0, 65, 25)
  808.     Protected Overrides Sub OnMouseDown(ByVal e As System.Windows.Forms.MouseEventArgs)
  809.         MyBase.OnMouseDown(e)
  810.         If X > MinBtn.X And X < MinBtn.X + 32 Then
  811.             FindForm.WindowState = FormWindowState.Minimized
  812.         Else
  813.             FindForm.Close()
  814.         End If
  815.         State = MouseState.Down : Invalidate()
  816.     End Sub
  817.     Protected Overrides Sub OnMouseUp(ByVal e As System.Windows.Forms.MouseEventArgs)
  818.         MyBase.OnMouseUp(e)
  819.         State = MouseState.Over : Invalidate()
  820.     End Sub
  821.     Protected Overrides Sub OnMouseEnter(ByVal e As System.EventArgs)
  822.         MyBase.OnMouseEnter(e)
  823.         State = MouseState.Over : Invalidate()
  824.     End Sub
  825.     Protected Overrides Sub OnMouseLeave(ByVal e As System.EventArgs)
  826.         MyBase.OnMouseLeave(e)
  827.         State = MouseState.None : Invalidate()
  828.     End Sub
  829.     Protected Overrides Sub OnMouseMove(ByVal e As System.Windows.Forms.MouseEventArgs)
  830.         MyBase.OnMouseMove(e)
  831.         X = e.Location.X
  832.         Invalidate()
  833.     End Sub
  834. #End Region
  835.     Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs)
  836.         Dim B As New Bitmap(Width, Height)
  837.         Dim G As Graphics = Graphics.FromImage(B)
  838.         Dim ClientRectangle As New Rectangle(0, 0, 64, 25)
  839.         Dim InnerRect As New Rectangle(1, 1, 62, 23)
  840.  
  841.  
  842.         MyBase.OnPaint(e)
  843.  
  844.         G.Clear(BackColor)
  845.         Dim drawFont As New Font("Marlett", 10, FontStyle.Bold)
  846.  
  847.         'G.CompositingQuality = CompositingQuality.HighQuality
  848.         G.SmoothingMode = SmoothingMode.HighQuality
  849.  
  850.         Select Case State
  851.             Case MouseState.None
  852.                 G.DrawString("r", drawFont, New SolidBrush(Color.FromArgb(178, 178, 178)), New Rectangle(17, 1, Width - 1, Height - 1), New StringFormat() With {.Alignment = StringAlignment.Center, .LineAlignment = StringAlignment.Center})
  853.                 G.DrawString("0", drawFont, New SolidBrush(Color.FromArgb(178, 178, 178)), New Rectangle(8, 1, Width - 1, Height - 1), New StringFormat() With {.Alignment = StringAlignment.Near, .LineAlignment = StringAlignment.Center})
  854.             Case MouseState.Over
  855.                 If X > MinBtn.X And X < MinBtn.X + 32 Then
  856.                     G.DrawString("0", drawFont, New SolidBrush(Color.FromArgb(178, 178, 178)), New Rectangle(8, 1, Width - 1, Height - 1), New StringFormat() With {.Alignment = StringAlignment.Near, .LineAlignment = StringAlignment.Center})
  857.                     G.DrawString("0", drawFont, New SolidBrush(Color.FromArgb(95, Color.Green)), New Rectangle(8, 1, Width - 1, Height - 1), New StringFormat() With {.Alignment = StringAlignment.Near, .LineAlignment = StringAlignment.Center})
  858.                     G.DrawString("r", drawFont, New SolidBrush(Color.FromArgb(178, 178, 178)), New Rectangle(17, 1, Width - 1, Height - 1), New StringFormat() With {.Alignment = StringAlignment.Center, .LineAlignment = StringAlignment.Center})
  859.                 Else
  860.                     G.DrawString("r", drawFont, New SolidBrush(Color.FromArgb(178, 178, 178)), New Rectangle(17, 1, Width - 1, Height - 1), New StringFormat() With {.Alignment = StringAlignment.Center, .LineAlignment = StringAlignment.Center})
  861.                     G.DrawString("r", drawFont, New SolidBrush(Color.FromArgb(95, Color.Red)), New Rectangle(17, 1, Width - 1, Height - 1), New StringFormat() With {.Alignment = StringAlignment.Center, .LineAlignment = StringAlignment.Center})
  862.                     G.DrawString("0", drawFont, New SolidBrush(Color.FromArgb(178, 178, 178)), New Rectangle(8, 1, Width - 1, Height - 1), New StringFormat() With {.Alignment = StringAlignment.Near, .LineAlignment = StringAlignment.Center})
  863.                 End If
  864.             Case MouseState.Down
  865.                 G.DrawString("r", drawFont, New SolidBrush(Color.FromArgb(178, 178, 178)), New Rectangle(17, 1, Width - 1, Height - 1), New StringFormat() With {.Alignment = StringAlignment.Center, .LineAlignment = StringAlignment.Center})
  866.                 G.DrawString("0", drawFont, New SolidBrush(Color.FromArgb(178, 178, 178)), New Rectangle(8, 1, Width - 1, Height - 1), New StringFormat() With {.Alignment = StringAlignment.Near, .LineAlignment = StringAlignment.Center})
  867.         End Select
  868.  
  869.  
  870.         e.Graphics.DrawImage(B.Clone(), 0, 0)
  871.         G.Dispose() : B.Dispose()
  872.     End Sub
  873. End Class
  874. Public Class ExcisionProgressBar : Inherits Control
  875.  
  876. #Region " Control Help - Properties & Flicker Control "
  877.     Private OFS As Integer = 0
  878.     Private Speed As Integer = 50
  879.     Private _Maximum As Integer = 100
  880.  
  881.     Public Property Maximum() As Integer
  882.         Get
  883.             Return _Maximum
  884.         End Get
  885.         Set(ByVal v As Integer)
  886.             Select Case v
  887.                 Case Is < _Value
  888.                     _Value = v
  889.             End Select
  890.             _Maximum = v
  891.             Invalidate()
  892.         End Set
  893.     End Property
  894.     Private _Value As Integer = 0
  895.     Public Property Value() As Integer
  896.         Get
  897.             Select Case _Value
  898.                 Case 0
  899.                     Return 0
  900.                 Case Else
  901.                     Return _Value
  902.             End Select
  903.         End Get
  904.         Set(ByVal v As Integer)
  905.             Select Case v
  906.                 Case Is > _Maximum
  907.                     v = _Maximum
  908.             End Select
  909.             _Value = v
  910.             Invalidate()
  911.         End Set
  912.     End Property
  913.     Private _ShowPercentage As Boolean = False
  914.     Public Property ShowPercentage() As Boolean
  915.         Get
  916.             Return _ShowPercentage
  917.         End Get
  918.         Set(ByVal v As Boolean)
  919.             _ShowPercentage = v
  920.             Invalidate()
  921.         End Set
  922.     End Property
  923.  
  924.     Protected Overrides Sub CreateHandle()
  925.         MyBase.CreateHandle()
  926.         ' Dim tmr As New Timer With {.Interval = Speed}
  927.         ' AddHandler tmr.Tick, AddressOf Animate
  928.         ' tmr.Start()
  929.         Dim T As New Threading.Thread(AddressOf Animate)
  930.         T.IsBackground = True
  931.         'T.Start()
  932.     End Sub
  933.     Sub Animate()
  934.         While True
  935.             If OFS <= Width Then : OFS += 1
  936.             Else : OFS = 0
  937.             End If
  938.             Invalidate()
  939.             Threading.Thread.Sleep(Speed)
  940.         End While
  941.     End Sub
  942. #End Region
  943.  
  944.     Sub New()
  945.         MyBase.New()
  946.         DoubleBuffered = True
  947.         SetStyle(ControlStyles.UserPaint Or ControlStyles.SupportsTransparentBackColor, True)
  948.         BackColor = Color.Transparent
  949.     End Sub
  950.  
  951.     Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs)
  952.         Dim B As New Bitmap(Width, Height)
  953.         Dim G As Graphics = Graphics.FromImage(B)
  954.  
  955.         G.SmoothingMode = SmoothingMode.HighQuality
  956.  
  957.         Dim intValue As Integer = CInt(_Value / _Maximum * Width)
  958.         G.Clear(BackColor)
  959.  
  960.         Dim d As New ImageToCodeClass
  961.         Dim GRAINIMAGE2 As Bitmap = d.CodeToImage("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")
  962.         Dim TEXTUREIMAGE2 As New TextureBrush(GRAINIMAGE2, WrapMode.TileFlipX)
  963.         '//// Inner Fill
  964.         G.FillPath(TEXTUREIMAGE2, Draw.RoundRect(New Rectangle(0, 0, Width - 1, Height - 1), 2))
  965.         G.DrawPath(New Pen(New SolidBrush(Color.FromArgb(26, 26, 26))), Draw.RoundRect(New Rectangle(1, 1, Width - 3, Height - 3), 2))
  966.  
  967.         '//// Bar Fill
  968.         Dim g1 As New LinearGradientBrush(New Rectangle(2, 2, intValue - 5, Height - 5), Color.FromArgb(60, 60, 60), Color.FromArgb(45, 45, 45), 90S)
  969.         G.FillPath(g1, Draw.RoundRect(New Rectangle(2, 2, intValue - 5, Height - 5), 2))
  970.  
  971.         '/// Bar Overlap
  972.         'Dim h1 As New HatchBrush(HatchStyle.DarkUpwardDiagonal, Color.FromArgb(40, Color.White), Color.FromArgb(20, Color.White))
  973.         'G.FillPath(h1, Draw.RoundRect(New Rectangle(0, 0, intValue - 1, Height - 2), 1))
  974.  
  975.         '//// Outer Rectangle
  976.         G.DrawPath(New Pen(Color.FromArgb(190, 70, 70, 70)), Draw.RoundRect(New Rectangle(0, 0, Width - 1, Height - 1), 2))
  977.  
  978.         '//// Bar Size
  979.         G.DrawPath(New Pen(Color.FromArgb(150, 97, 94, 90)), Draw.RoundRect(New Rectangle(2, 2, intValue - 5, Height - 5), 2))
  980.  
  981.         If _ShowPercentage Then
  982.             G.DrawString(Convert.ToString(String.Concat(Value, "%")), New Font("Tahoma", 9, FontStyle.Bold), Brushes.White, New Rectangle(0, 1, Width - 1, Height - 1), New StringFormat() With {.Alignment = StringAlignment.Center, .LineAlignment = StringAlignment.Center})
  983.         End If
  984.  
  985.         e.Graphics.DrawImage(B.Clone(), 0, 0)
  986.         G.Dispose() : B.Dispose()
  987.     End Sub
  988. End Class
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement