Excision Theme [GDI+] [Clean] [Source] [12 Controls]


SUBMITTED BY: Guest

DATE: July 5, 2013, 7:52 a.m.

FORMAT: Text only

SIZE: 63.4 kB

HITS: 1031

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

comments powered by Disqus