Advertisement
Astekk

VibeLander Theme (Converted to C#)//shitty

Dec 3rd, 2014
234
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. using System;
  2. using System.Windows.Forms;
  3. using System.Drawing.Drawing2D;
  4. using System.ComponentModel;
  5. using System.Runtime.InteropServices;
  6. using System.Drawing;
  7.  
  8. //.::Tweety Theme::.
  9. //Author:   UnReLaTeDScript
  10. //Credits:  Aeonhack [Themebase]
  11. //Version:  1.0
  12. abstract class Theme : ContainerControl
  13. {
  14.  
  15.     #region " Initialization "
  16.  
  17.     protected Graphics G;
  18.     public Theme()
  19.     {
  20.         SetStyle((ControlStyles)139270, true);
  21.     }
  22.  
  23.     private bool ParentIsForm;
  24.     protected override void OnHandleCreated(EventArgs e)
  25.     {
  26.         Dock = DockStyle.Fill;
  27.         ParentIsForm = Parent is Form;
  28.         if (ParentIsForm)
  29.         {
  30.             if (!(_TransparencyKey == Color.Empty))
  31.                 ParentForm.TransparencyKey = _TransparencyKey;
  32.             ParentForm.FormBorderStyle = FormBorderStyle.None;
  33.         }
  34.         base.OnHandleCreated(e);
  35.     }
  36.  
  37.     public override string Text
  38.     {
  39.         get { return base.Text; }
  40.         set
  41.         {
  42.             base.Text = value;
  43.             Invalidate();
  44.         }
  45.     }
  46.     #endregion
  47.  
  48.     #region " Sizing and Movement "
  49.  
  50.     private bool _Resizable = true;
  51.     public bool Resizable
  52.     {
  53.         get { return _Resizable; }
  54.         set { _Resizable = value; }
  55.     }
  56.  
  57.     private int _MoveHeight = 24;
  58.     public int MoveHeight
  59.     {
  60.         get { return _MoveHeight; }
  61.         set
  62.         {
  63.             _MoveHeight = value;
  64.             Header = new Rectangle(7, 7, Width - 14, _MoveHeight - 7);
  65.         }
  66.     }
  67.  
  68.     private IntPtr Flag;
  69.     protected override void OnMouseDown(MouseEventArgs e)
  70.     {
  71.         if (!(e.Button == MouseButtons.Left))
  72.             return;
  73.         if (ParentIsForm)
  74.             if (ParentForm.WindowState == FormWindowState.Maximized)
  75.                 return;
  76.  
  77.         if (Header.Contains(e.Location))
  78.         {
  79.             Flag = new IntPtr(2);
  80.         }
  81.         else if (Current.Position == 0 | !_Resizable)
  82.         {
  83.             return;
  84.         }
  85.         else
  86.         {
  87.             Flag = new IntPtr(Current.Position);
  88.         }
  89.  
  90.         Capture = false;
  91.         Message m = Message.Create(Parent.Handle, 161, Flag, IntPtr.Zero);
  92.         DefWndProc(ref m);
  93.  
  94.         base.OnMouseDown(e);
  95.     }
  96.  
  97.     private struct Pointer
  98.     {
  99.         public readonly Cursor Cursor;
  100.         public readonly byte Position;
  101.         public Pointer(Cursor c, byte p)
  102.         {
  103.             Cursor = c;
  104.             Position = p;
  105.         }
  106.     }
  107.  
  108.     private bool F1;
  109.     private bool F2;
  110.     private bool F3;
  111.     private bool F4;
  112.     private Point PTC;
  113.     private Pointer GetPointer()
  114.     {
  115.         PTC = PointToClient(MousePosition);
  116.         F1 = PTC.X < 7;
  117.         F2 = PTC.X > Width - 7;
  118.         F3 = PTC.Y < 7;
  119.         F4 = PTC.Y > Height - 7;
  120.  
  121.         if (F1 & F3)
  122.             return new Pointer(Cursors.SizeNWSE, 13);
  123.         if (F1 & F4)
  124.             return new Pointer(Cursors.SizeNESW, 16);
  125.         if (F2 & F3)
  126.             return new Pointer(Cursors.SizeNESW, 14);
  127.         if (F2 & F4)
  128.             return new Pointer(Cursors.SizeNWSE, 17);
  129.         if (F1)
  130.             return new Pointer(Cursors.SizeWE, 10);
  131.         if (F2)
  132.             return new Pointer(Cursors.SizeWE, 11);
  133.         if (F3)
  134.             return new Pointer(Cursors.SizeNS, 12);
  135.         if (F4)
  136.             return new Pointer(Cursors.SizeNS, 15);
  137.         return new Pointer(Cursors.Default, 0);
  138.     }
  139.  
  140.     private Pointer Current;
  141.     private Pointer Pending;
  142.     private void SetCurrent()
  143.     {
  144.         Pending = GetPointer();
  145.         if (Current.Position == Pending.Position)
  146.             return;
  147.         Current = GetPointer();
  148.         Cursor = Current.Cursor;
  149.     }
  150.  
  151.     protected override void OnMouseMove(MouseEventArgs e)
  152.     {
  153.         if (_Resizable)
  154.             SetCurrent();
  155.         base.OnMouseMove(e);
  156.     }
  157.  
  158.     protected Rectangle Header;
  159.     protected override void OnSizeChanged(EventArgs e)
  160.     {
  161.         if (Width == 0 || Height == 0)
  162.             return;
  163.         Header = new Rectangle(7, 7, Width - 14, _MoveHeight - 7);
  164.         Invalidate();
  165.         base.OnSizeChanged(e);
  166.     }
  167.  
  168.     #endregion
  169.  
  170.     #region " Convienence "
  171.  
  172.     public abstract void PaintHook();
  173.     protected override sealed void OnPaint(PaintEventArgs e)
  174.     {
  175.         if (Width == 0 || Height == 0)
  176.             return;
  177.         G = e.Graphics;
  178.         PaintHook();
  179.     }
  180.  
  181.     private Color _TransparencyKey;
  182.     public Color TransparencyKey
  183.     {
  184.         get { return _TransparencyKey; }
  185.         set
  186.         {
  187.             _TransparencyKey = value;
  188.             Invalidate();
  189.         }
  190.     }
  191.  
  192.     private Image _Image;
  193.     public Image Image
  194.     {
  195.         get { return _Image; }
  196.         set
  197.         {
  198.             _Image = value;
  199.             Invalidate();
  200.         }
  201.     }
  202.     public int ImageWidth
  203.     {
  204.         get
  205.         {
  206.             if (_Image == null)
  207.                 return 0;
  208.             return _Image.Width;
  209.         }
  210.     }
  211.  
  212.     private Size _Size;
  213.     private Rectangle _Rectangle;
  214.     private LinearGradientBrush _Gradient;
  215.  
  216.     private SolidBrush _Brush;
  217.     protected void DrawCorners(Color c, Rectangle rect)
  218.     {
  219.         _Brush = new SolidBrush(c);
  220.         G.FillRectangle(_Brush, rect.X, rect.Y, 1, 1);
  221.         G.FillRectangle(_Brush, rect.X + (rect.Width - 1), rect.Y, 1, 1);
  222.         G.FillRectangle(_Brush, rect.X, rect.Y + (rect.Height - 1), 1, 1);
  223.         G.FillRectangle(_Brush, rect.X + (rect.Width - 1), rect.Y + (rect.Height - 1), 1, 1);
  224.     }
  225.  
  226.     protected void DrawBorders(Pen p1, Pen p2, Rectangle rect)
  227.     {
  228.         G.DrawRectangle(p1, rect.X, rect.Y, rect.Width - 1, rect.Height - 1);
  229.         G.DrawRectangle(p2, rect.X + 1, rect.Y + 1, rect.Width - 3, rect.Height - 3);
  230.     }
  231.  
  232.     protected void DrawText(HorizontalAlignment a, Color c, int x)
  233.     {
  234.         DrawText(a, c, x, 0);
  235.     }
  236.     protected void DrawText(HorizontalAlignment a, Color c, int x, int y)
  237.     {
  238.         if (string.IsNullOrEmpty(Text))
  239.             return;
  240.         _Size = G.MeasureString(Text, Font).ToSize();
  241.         _Brush = new SolidBrush(c);
  242.  
  243.         switch (a)
  244.         {
  245.             case HorizontalAlignment.Left:
  246.                 G.DrawString(Text, Font, _Brush, x, _MoveHeight / 2 - _Size.Height / 2 + y);
  247.                 break;
  248.             case HorizontalAlignment.Right:
  249.                 G.DrawString(Text, Font, _Brush, Width - _Size.Width - x, _MoveHeight / 2 - _Size.Height / 2 + y);
  250.                 break;
  251.             case HorizontalAlignment.Center:
  252.                 G.DrawString(Text, Font, _Brush, Width / 2 - _Size.Width / 2 + x, _MoveHeight / 2 - _Size.Height / 2 + y);
  253.                 break;
  254.         }
  255.     }
  256.  
  257.     protected void DrawIcon(HorizontalAlignment a, int x)
  258.     {
  259.         DrawIcon(a, x, 0);
  260.     }
  261.     protected void DrawIcon(HorizontalAlignment a, int x, int y)
  262.     {
  263.         if (_Image == null)
  264.             return;
  265.         switch (a)
  266.         {
  267.             case HorizontalAlignment.Left:
  268.                 G.DrawImage(_Image, x, _MoveHeight / 2 - _Image.Height / 2 + y);
  269.                 break;
  270.             case HorizontalAlignment.Right:
  271.                 G.DrawImage(_Image, Width - _Image.Width - x, _MoveHeight / 2 - _Image.Height / 2 + y);
  272.                 break;
  273.             case HorizontalAlignment.Center:
  274.                 G.DrawImage(_Image, Width / 2 - _Image.Width / 2, _MoveHeight / 2 - _Image.Height / 2);
  275.                 break;
  276.         }
  277.     }
  278.  
  279.     protected void DrawGradient(Color c1, Color c2, int x, int y, int width, int height, float angle)
  280.     {
  281.         _Rectangle = new Rectangle(x, y, width, height);
  282.         _Gradient = new LinearGradientBrush(_Rectangle, c1, c2, angle);
  283.         G.FillRectangle(_Gradient, _Rectangle);
  284.     }
  285.  
  286.     #endregion
  287.  
  288. }
  289. static class Draw
  290. {
  291.     public static GraphicsPath RoundRect(Rectangle Rectangle, int Curve)
  292.     {
  293.         GraphicsPath P = new GraphicsPath();
  294.         int ArcRectangleWidth = Curve * 2;
  295.         P.AddArc(new Rectangle(Rectangle.X, Rectangle.Y, ArcRectangleWidth, ArcRectangleWidth), -180, 90);
  296.         P.AddArc(new Rectangle(Rectangle.Width - ArcRectangleWidth + Rectangle.X, Rectangle.Y, ArcRectangleWidth, ArcRectangleWidth), -90, 90);
  297.         P.AddArc(new Rectangle(Rectangle.Width - ArcRectangleWidth + Rectangle.X, Rectangle.Height - ArcRectangleWidth + Rectangle.Y, ArcRectangleWidth, ArcRectangleWidth), 0, 90);
  298.         P.AddArc(new Rectangle(Rectangle.X, Rectangle.Height - ArcRectangleWidth + Rectangle.Y, ArcRectangleWidth, ArcRectangleWidth), 90, 90);
  299.         P.AddLine(new Point(Rectangle.X, Rectangle.Height - ArcRectangleWidth + Rectangle.Y), new Point(Rectangle.X, Curve + Rectangle.Y));
  300.         return P;
  301.     }
  302.     //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
  303.     //    Dim Rectangle As Rectangle = New Rectangle(X, Y, Width, Height)
  304.     //    Dim P As GraphicsPath = New GraphicsPath()
  305.     //    Dim ArcRectangleWidth As Integer = Curve * 2
  306.     //    P.AddArc(New Rectangle(Rectangle.X, Rectangle.Y, ArcRectangleWidth, ArcRectangleWidth), -180, 90)
  307.     //    P.AddArc(New Rectangle(Rectangle.Width - ArcRectangleWidth + Rectangle.X, Rectangle.Y, ArcRectangleWidth, ArcRectangleWidth), -90, 90)
  308.     //    P.AddArc(New Rectangle(Rectangle.Width - ArcRectangleWidth + Rectangle.X, Rectangle.Height - ArcRectangleWidth + Rectangle.Y, ArcRectangleWidth, ArcRectangleWidth), 0, 90)
  309.     //    P.AddArc(New Rectangle(Rectangle.X, Rectangle.Height - ArcRectangleWidth + Rectangle.Y, ArcRectangleWidth, ArcRectangleWidth), 90, 90)
  310.     //    P.AddLine(New Point(Rectangle.X, Rectangle.Height - ArcRectangleWidth + Rectangle.Y), New Point(Rectangle.X, Curve + Rectangle.Y))
  311.     //    Return P
  312.     //End Function
  313. }
  314. abstract class ThemeControl : Control
  315. {
  316.  
  317.     #region " Initialization "
  318.  
  319.     protected Graphics G;
  320.     protected Bitmap B;
  321.     public ThemeControl()
  322.     {
  323.         SetStyle((ControlStyles)139270, true);
  324.         B = new Bitmap(1, 1);
  325.         G = Graphics.FromImage(B);
  326.     }
  327.  
  328.     public void AllowTransparent()
  329.     {
  330.         SetStyle(ControlStyles.Opaque, false);
  331.         SetStyle(ControlStyles.SupportsTransparentBackColor, true);
  332.     }
  333.  
  334.     public override string Text
  335.     {
  336.         get { return base.Text; }
  337.         set
  338.         {
  339.             base.Text = value;
  340.             Invalidate();
  341.         }
  342.     }
  343.     #endregion
  344.  
  345.     #region " Mouse Handling "
  346.  
  347.     protected enum State : byte
  348.     {
  349.         MouseNone = 0,
  350.         MouseOver = 1,
  351.         MouseDown = 2
  352.     }
  353.  
  354.     protected State MouseState;
  355.     protected override void OnMouseLeave(EventArgs e)
  356.     {
  357.         ChangeMouseState(State.MouseNone);
  358.         base.OnMouseLeave(e);
  359.     }
  360.     protected override void OnMouseEnter(EventArgs e)
  361.     {
  362.         ChangeMouseState(State.MouseOver);
  363.         base.OnMouseEnter(e);
  364.     }
  365.     protected override void OnMouseUp(MouseEventArgs e)
  366.     {
  367.         ChangeMouseState(State.MouseOver);
  368.         base.OnMouseUp(e);
  369.     }
  370.     protected override void OnMouseDown(MouseEventArgs e)
  371.     {
  372.         if (e.Button == MouseButtons.Left)
  373.             ChangeMouseState(State.MouseDown);
  374.         base.OnMouseDown(e);
  375.     }
  376.  
  377.     private void ChangeMouseState(State e)
  378.     {
  379.         MouseState = e;
  380.         Invalidate();
  381.     }
  382.  
  383.     #endregion
  384.  
  385.     #region " Convienence "
  386.  
  387.     public abstract void PaintHook();
  388.     protected override sealed void OnPaint(PaintEventArgs e)
  389.     {
  390.         if (Width == 0 || Height == 0)
  391.             return;
  392.         PaintHook();
  393.         e.Graphics.DrawImage(B, 0, 0);
  394.     }
  395.  
  396.     protected override void OnSizeChanged(EventArgs e)
  397.     {
  398.         if (!(Width == 0) && !(Height == 0))
  399.         {
  400.             B = new Bitmap(Width, Height);
  401.             G = Graphics.FromImage(B);
  402.             Invalidate();
  403.         }
  404.         base.OnSizeChanged(e);
  405.     }
  406.  
  407.     private bool _NoRounding;
  408.     public bool NoRounding
  409.     {
  410.         get { return _NoRounding; }
  411.         set
  412.         {
  413.             _NoRounding = value;
  414.             Invalidate();
  415.         }
  416.     }
  417.  
  418.     private Image _Image;
  419.     public Image Image
  420.     {
  421.         get { return _Image; }
  422.         set
  423.         {
  424.             _Image = value;
  425.             Invalidate();
  426.         }
  427.     }
  428.     public int ImageWidth
  429.     {
  430.         get
  431.         {
  432.             if (_Image == null)
  433.                 return 0;
  434.             return _Image.Width;
  435.         }
  436.     }
  437.     public int ImageTop
  438.     {
  439.         get
  440.         {
  441.             if (_Image == null)
  442.                 return 0;
  443.             return Height / 2 - _Image.Height / 2;
  444.         }
  445.     }
  446.  
  447.     private Size _Size;
  448.     private Rectangle _Rectangle;
  449.     private LinearGradientBrush _Gradient;
  450.  
  451.     private SolidBrush _Brush;
  452.     protected void DrawCorners(Color c, Rectangle rect)
  453.     {
  454.         if (_NoRounding)
  455.             return;
  456.  
  457.         B.SetPixel(rect.X, rect.Y, c);
  458.         B.SetPixel(rect.X + (rect.Width - 1), rect.Y, c);
  459.         B.SetPixel(rect.X, rect.Y + (rect.Height - 1), c);
  460.         B.SetPixel(rect.X + (rect.Width - 1), rect.Y + (rect.Height - 1), c);
  461.     }
  462.  
  463.     protected void DrawBorders(Pen p1, Pen p2, Rectangle rect)
  464.     {
  465.         G.DrawRectangle(p1, rect.X, rect.Y, rect.Width - 1, rect.Height - 1);
  466.         G.DrawRectangle(p2, rect.X + 1, rect.Y + 1, rect.Width - 3, rect.Height - 3);
  467.     }
  468.  
  469.     protected void DrawText(HorizontalAlignment a, Color c, int x)
  470.     {
  471.         DrawText(a, c, x, 0);
  472.     }
  473.     protected void DrawText(HorizontalAlignment a, Color c, int x, int y)
  474.     {
  475.         if (string.IsNullOrEmpty(Text))
  476.             return;
  477.         _Size = G.MeasureString(Text, Font).ToSize();
  478.         _Brush = new SolidBrush(c);
  479.  
  480.         switch (a)
  481.         {
  482.             case HorizontalAlignment.Left:
  483.                 G.DrawString(Text, Font, _Brush, x, Height / 2 - _Size.Height / 2 + y);
  484.                 break;
  485.             case HorizontalAlignment.Right:
  486.                 G.DrawString(Text, Font, _Brush, Width - _Size.Width - x, Height / 2 - _Size.Height / 2 + y);
  487.                 break;
  488.             case HorizontalAlignment.Center:
  489.                 G.DrawString(Text, Font, _Brush, Width / 2 - _Size.Width / 2 + x, Height / 2 - _Size.Height / 2 + y);
  490.                 break;
  491.         }
  492.     }
  493.  
  494.     protected void DrawIcon(HorizontalAlignment a, int x)
  495.     {
  496.         DrawIcon(a, x, 0);
  497.     }
  498.     protected void DrawIcon(HorizontalAlignment a, int x, int y)
  499.     {
  500.         if (_Image == null)
  501.             return;
  502.         switch (a)
  503.         {
  504.             case HorizontalAlignment.Left:
  505.                 G.DrawImage(_Image, x, Height / 2 - _Image.Height / 2 + y);
  506.                 break;
  507.             case HorizontalAlignment.Right:
  508.                 G.DrawImage(_Image, Width - _Image.Width - x, Height / 2 - _Image.Height / 2 + y);
  509.                 break;
  510.             case HorizontalAlignment.Center:
  511.                 G.DrawImage(_Image, Width / 2 - _Image.Width / 2, Height / 2 - _Image.Height / 2);
  512.                 break;
  513.         }
  514.     }
  515.  
  516.     protected void DrawGradient(Color c1, Color c2, int x, int y, int width, int height, float angle)
  517.     {
  518.         _Rectangle = new Rectangle(x, y, width, height);
  519.         _Gradient = new LinearGradientBrush(_Rectangle, c1, c2, angle);
  520.         G.FillRectangle(_Gradient, _Rectangle);
  521.     }
  522.     #endregion
  523.  
  524. }
  525. abstract class ThemeContainerControl : ContainerControl
  526. {
  527.  
  528.     #region " Initialization "
  529.  
  530.     protected Graphics G;
  531.     protected Bitmap B;
  532.     public ThemeContainerControl()
  533.     {
  534.         SetStyle((ControlStyles)139270, true);
  535.         B = new Bitmap(1, 1);
  536.         G = Graphics.FromImage(B);
  537.     }
  538.  
  539.     public void AllowTransparent()
  540.     {
  541.         SetStyle(ControlStyles.Opaque, false);
  542.         SetStyle(ControlStyles.SupportsTransparentBackColor, true);
  543.     }
  544.  
  545.     #endregion
  546.     #region " Convienence "
  547.  
  548.     public abstract void PaintHook();
  549.     protected override sealed void OnPaint(PaintEventArgs e)
  550.     {
  551.         if (Width == 0 || Height == 0)
  552.             return;
  553.         PaintHook();
  554.         e.Graphics.DrawImage(B, 0, 0);
  555.     }
  556.  
  557.     protected override void OnSizeChanged(EventArgs e)
  558.     {
  559.         if (!(Width == 0) && !(Height == 0))
  560.         {
  561.             B = new Bitmap(Width, Height);
  562.             G = Graphics.FromImage(B);
  563.             Invalidate();
  564.         }
  565.         base.OnSizeChanged(e);
  566.     }
  567.  
  568.     private bool _NoRounding;
  569.     public bool NoRounding
  570.     {
  571.         get { return _NoRounding; }
  572.         set
  573.         {
  574.             _NoRounding = value;
  575.             Invalidate();
  576.         }
  577.     }
  578.  
  579.     private Rectangle _Rectangle;
  580.  
  581.     private LinearGradientBrush _Gradient;
  582.     protected void DrawCorners(Color c, Rectangle rect)
  583.     {
  584.         if (_NoRounding)
  585.             return;
  586.         B.SetPixel(rect.X, rect.Y, c);
  587.         B.SetPixel(rect.X + (rect.Width - 1), rect.Y, c);
  588.         B.SetPixel(rect.X, rect.Y + (rect.Height - 1), c);
  589.         B.SetPixel(rect.X + (rect.Width - 1), rect.Y + (rect.Height - 1), c);
  590.     }
  591.  
  592.     protected void DrawBorders(Pen p1, Pen p2, Rectangle rect)
  593.     {
  594.         G.DrawRectangle(p1, rect.X, rect.Y, rect.Width - 1, rect.Height - 1);
  595.         G.DrawRectangle(p2, rect.X + 1, rect.Y + 1, rect.Width - 3, rect.Height - 3);
  596.     }
  597.  
  598.     protected void DrawGradient(Color c1, Color c2, int x, int y, int width, int height, float angle)
  599.     {
  600.         _Rectangle = new Rectangle(x, y, width, height);
  601.         _Gradient = new LinearGradientBrush(_Rectangle, c1, c2, angle);
  602.         G.FillRectangle(_Gradient, _Rectangle);
  603.     }
  604.     #endregion
  605.  
  606. }
  607.  
  608. class TxtBox : ThemeControl
  609. {
  610.     #region "lol"
  611.     TextBox txtbox = new TextBox();
  612.     private bool _passmask = false;
  613.     public bool UseSystemPasswordChar
  614.     {
  615.         get { return _passmask; }
  616.         set
  617.         {
  618.             txtbox.UseSystemPasswordChar = UseSystemPasswordChar;
  619.             _passmask = value;
  620.             Invalidate();
  621.         }
  622.     }
  623.     private int _maxchars = 32767;
  624.     public int MaxLength
  625.     {
  626.         get { return _maxchars; }
  627.         set
  628.         {
  629.             _maxchars = value;
  630.             txtbox.MaxLength = MaxLength;
  631.             Invalidate();
  632.         }
  633.     }
  634.     private HorizontalAlignment _align;
  635.     public HorizontalAlignment TextAlignment
  636.     {
  637.         get { return _align; }
  638.         set
  639.         {
  640.             _align = value;
  641.             Invalidate();
  642.         }
  643.     }
  644.  
  645.     protected override void OnPaintBackground(System.Windows.Forms.PaintEventArgs pevent)
  646.     {
  647.     }
  648.     protected override void OnTextChanged(System.EventArgs e)
  649.     {
  650.         base.OnTextChanged(e);
  651.         Invalidate();
  652.     }
  653.     protected override void OnBackColorChanged(System.EventArgs e)
  654.     {
  655.         base.OnBackColorChanged(e);
  656.         txtbox.BackColor = BackColor;
  657.         Invalidate();
  658.     }
  659.     protected override void OnForeColorChanged(System.EventArgs e)
  660.     {
  661.         base.OnForeColorChanged(e);
  662.         txtbox.ForeColor = ForeColor;
  663.         Invalidate();
  664.     }
  665.     protected override void OnFontChanged(System.EventArgs e)
  666.     {
  667.         base.OnFontChanged(e);
  668.         txtbox.Font = Font;
  669.     }
  670.     protected override void OnGotFocus(System.EventArgs e)
  671.     {
  672.         base.OnGotFocus(e);
  673.         txtbox.Focus();
  674.     }
  675.     public void  // ERROR: Handles clauses are not supported in C#
  676. TextChngTxtBox()
  677.     {
  678.         Text = txtbox.Text;
  679.     }
  680.     public void  // ERROR: Handles clauses are not supported in C#
  681. TextChng()
  682.     {
  683.         txtbox.Text = Text;
  684.     }
  685.  
  686.     #endregion
  687.  
  688.     protected override void WndProc(ref Message m)
  689.     {
  690.         switch (m.Msg)
  691.         {
  692.             case 15:
  693.                 Invalidate();
  694.                 base.WndProc(ref m);
  695.                 this.PaintHook();
  696.                 break; // TODO: might not be correct. Was : Exit Select
  697.             default:
  698.                 base.WndProc(ref m);
  699.                 break; // TODO: might not be correct. Was : Exit Select
  700.         }
  701.     }
  702.  
  703.     public TxtBox()
  704.         : base()
  705.     {
  706.  
  707.         Controls.Add(txtbox);
  708.         {
  709.             txtbox.Multiline = false;
  710.             txtbox.BackColor = Color.FromArgb(0, 0, 0);
  711.             txtbox.ForeColor = ForeColor;
  712.             txtbox.Text = string.Empty;
  713.             txtbox.TextAlign = HorizontalAlignment.Center;
  714.             txtbox.BorderStyle = BorderStyle.None;
  715.             txtbox.Location = new Point(5, 8);
  716.             txtbox.Font = new Font("Arial", 8.25f, FontStyle.Bold);
  717.             txtbox.Size = new Size(Width - 8, Height - 11);
  718.             txtbox.UseSystemPasswordChar = UseSystemPasswordChar;
  719.         }
  720.  
  721.         Text = "";
  722.  
  723.         DoubleBuffered = true;
  724.     }
  725.  
  726.     public override void PaintHook()
  727.     {
  728.         this.BackColor = Color.White;
  729.         G.Clear(Parent.BackColor);
  730.         Pen p = new Pen(Color.FromArgb(204, 204, 204), 1);
  731.         Pen o = new Pen(Color.FromArgb(249, 249, 249), 8);
  732.         G.FillPath(Brushes.White, Draw.RoundRect(new Rectangle(0, 0, Width - 1, Height - 1), 2));
  733.         G.DrawPath(o, Draw.RoundRect(new Rectangle(0, 0, Width - 1, Height - 1), 2));
  734.         G.DrawPath(p, Draw.RoundRect(new Rectangle(0, 0, Width - 1, Height - 1), 2));
  735.         Height = txtbox.Height + 16;
  736.         Font drawFont = new Font("Tahoma", 9, FontStyle.Regular);
  737.         {
  738.             txtbox.Width = Width - 12;
  739.             txtbox.ForeColor = Color.FromArgb(72, 72, 72);
  740.             txtbox.Font = drawFont;
  741.             txtbox.TextAlign = TextAlignment;
  742.             txtbox.UseSystemPasswordChar = UseSystemPasswordChar;
  743.         }
  744.         DrawCorners(Parent.BackColor, ClientRectangle);
  745.     }
  746. }
  747.  
  748. class PanelBox : ThemeContainerControl
  749. {
  750.     public PanelBox()
  751.     {
  752.         AllowTransparent();
  753.     }
  754.     public override void PaintHook()
  755.     {
  756.         this.Font = new Font("Tahoma", 10);
  757.         this.ForeColor = Color.FromArgb(40, 40, 40);
  758.         G.SmoothingMode = SmoothingMode.AntiAlias;
  759.         G.FillRectangle(new SolidBrush(Color.FromArgb(235, 235, 235)), new Rectangle(2, 0, Width, Height));
  760.         G.FillRectangle(new SolidBrush(Color.FromArgb(249, 249, 249)), new Rectangle(1, 0, Width - 3, Height - 4));
  761.         G.DrawRectangle(new Pen(Color.FromArgb(214, 214, 214)), 0, 0, Width - 2, Height - 3);
  762.     }
  763. }
  764. class GroupDropBox : ThemeContainerControl
  765. {
  766.     private bool _Checked;
  767.     private int X;
  768.     private int y;
  769.     private Size _OpenedSize;
  770.     public bool Checked
  771.     {
  772.         get { return _Checked; }
  773.         set
  774.         {
  775.             _Checked = value;
  776.             Invalidate();
  777.         }
  778.     }
  779.     public Size OpenSize
  780.     {
  781.         get { return _OpenedSize; }
  782.         set
  783.         {
  784.             _OpenedSize = value;
  785.             Invalidate();
  786.         }
  787.     }
  788.     public GroupDropBox()
  789.     {
  790.        
  791.         AllowTransparent();
  792.         Size = new Size(90, 30);
  793.         MinimumSize = new Size(5, 30);
  794.         _Checked = true;
  795.         this.Resize += new EventHandler(GroupDropBox_Resize);
  796.         this.MouseDown += new MouseEventHandler(GroupDropBox_MouseDown);
  797.     }
  798.     public override void PaintHook()
  799.     {
  800.         this.Font = new Font("Tahoma", 10);
  801.         this.ForeColor = Color.FromArgb(40, 40, 40);
  802.         if (_Checked == true)
  803.         {
  804.             G.SmoothingMode = SmoothingMode.AntiAlias;
  805.             G.Clear(Color.FromArgb(245, 245, 245));
  806.             G.FillRectangle(new SolidBrush(Color.FromArgb(231, 231, 231)), new Rectangle(0, 0, Width, 30));
  807.             G.DrawLine(new Pen(Color.FromArgb(233, 238, 240)), 1, 1, Width - 2, 1);
  808.             G.DrawRectangle(new Pen(Color.FromArgb(214, 214, 214)), 0, 0, Width - 1, Height - 1);
  809.             G.DrawRectangle(new Pen(Color.FromArgb(214, 214, 214)), 0, 0, Width - 1, 30);
  810.             this.Size = _OpenedSize;
  811.             G.DrawString("t", new Font("Marlett", 12), new SolidBrush(this.ForeColor), Width - 25, 5);
  812.         }
  813.         else
  814.         {
  815.             G.SmoothingMode = SmoothingMode.AntiAlias;
  816.             G.Clear(Color.FromArgb(245, 245, 245));
  817.             G.FillRectangle(new SolidBrush(Color.FromArgb(231, 231, 231)), new Rectangle(0, 0, Width, 30));
  818.             G.DrawLine(new Pen(Color.FromArgb(231, 236, 238)), 1, 1, Width - 2, 1);
  819.             G.DrawRectangle(new Pen(Color.FromArgb(214, 214, 214)), 0, 0, Width - 1, Height - 1);
  820.             G.DrawRectangle(new Pen(Color.FromArgb(214, 214, 214)), 0, 0, Width - 1, 30);
  821.             this.Size = new Size(Width, 30);
  822.             G.DrawString("u", new Font("Marlett", 12), new SolidBrush(this.ForeColor), Width - 25, 5);
  823.         }
  824.         G.DrawString(Text, Font, new SolidBrush(this.ForeColor), 7, 6);
  825.     }
  826.  
  827.     private void GroupDropBox_Resize(object sender, System.EventArgs e)
  828.     {
  829.         if (_Checked == true)
  830.         {
  831.             _OpenedSize = this.Size;
  832.         }
  833.     }
  834.  
  835.  
  836.     protected override void OnMouseMove(System.Windows.Forms.MouseEventArgs e)
  837.     {
  838.         base.OnMouseMove(e);
  839.         X = e.X;
  840.         y = e.Y;
  841.         Invalidate();
  842.     }
  843.  
  844.  
  845.     private void GroupDropBox_MouseDown(object sender, MouseEventArgs e)
  846.     {
  847.  
  848.         if (X >= Width - 22)
  849.         {
  850.             if (y <= 30)
  851.             {
  852.                 switch (Checked)
  853.                 {
  854.                     case true:
  855.                         Checked = false;
  856.                         break;
  857.                     case false:
  858.                         Checked = true;
  859.                         break;
  860.                 }
  861.             }
  862.         }
  863.     }
  864. }
  865. class GroupPanelBox : ThemeContainerControl
  866. {
  867.     public GroupPanelBox()
  868.     {
  869.         AllowTransparent();
  870.     }
  871.     public override void PaintHook()
  872.     {
  873.         this.Font = new Font("Tahoma", 10);
  874.         this.ForeColor = Color.FromArgb(40, 40, 40);
  875.         G.SmoothingMode = SmoothingMode.AntiAlias;
  876.         G.Clear(Color.FromArgb(245, 245, 245));
  877.         G.FillRectangle(new SolidBrush(Color.FromArgb(231, 231, 231)), new Rectangle(0, 0, Width, 30));
  878.         G.DrawLine(new Pen(Color.FromArgb(233, 238, 240)), 1, 1, Width - 2, 1);
  879.         G.DrawRectangle(new Pen(Color.FromArgb(214, 214, 214)), 0, 0, Width - 1, Height - 1);
  880.         G.DrawRectangle(new Pen(Color.FromArgb(214, 214, 214)), 0, 0, Width - 1, 30);
  881.         G.DrawString(Text, Font, new SolidBrush(this.ForeColor), 7, 6);
  882.     }
  883. }
  884.  
  885. class ButtonGreen : ThemeControl
  886. {
  887.     public override void PaintHook()
  888.     {
  889.         this.Font = new Font("Arial", 10);
  890.         G.Clear(this.BackColor);
  891.         G.SmoothingMode = SmoothingMode.HighQuality;
  892.         switch (MouseState)
  893.         {
  894.             case State.MouseNone:
  895.                 Pen p1 = new Pen(Color.FromArgb(120, 159, 22), 1);
  896.                 LinearGradientBrush x1 = new LinearGradientBrush(ClientRectangle, Color.FromArgb(157, 209, 57), Color.FromArgb(130, 181, 18), LinearGradientMode.Vertical);
  897.                 G.FillPath(x1, Draw.RoundRect(ClientRectangle, 4));
  898.                 G.DrawPath(p1, Draw.RoundRect(new Rectangle(0, 0, Width - 1, Height - 1), 3));
  899.                 G.DrawLine(new Pen(Color.FromArgb(190, 232, 109)), 2, 1, Width - 3, 1);
  900.                 DrawText(HorizontalAlignment.Center, Color.FromArgb(240, 240, 240), 0);
  901.                 break;
  902.             case State.MouseDown:
  903.                 Pen p2 = new Pen(Color.FromArgb(120, 159, 22), 1);
  904.                 LinearGradientBrush x2 = new LinearGradientBrush(ClientRectangle, Color.FromArgb(125, 171, 25), Color.FromArgb(142, 192, 40), LinearGradientMode.Vertical);
  905.                 G.FillPath(x2, Draw.RoundRect(ClientRectangle, 4));
  906.                 G.DrawPath(p2, Draw.RoundRect(new Rectangle(0, 0, Width - 1, Height - 1), 3));
  907.                 G.DrawLine(new Pen(Color.FromArgb(142, 172, 30)), 2, 1, Width - 3, 1);
  908.                 DrawText(HorizontalAlignment.Center, Color.FromArgb(250, 250, 250), 1);
  909.                 break;
  910.             case State.MouseOver:
  911.                 Pen p3 = new Pen(Color.FromArgb(120, 159, 22), 1);
  912.                 LinearGradientBrush x3 = new LinearGradientBrush(ClientRectangle, Color.FromArgb(165, 220, 59), Color.FromArgb(137, 191, 18), LinearGradientMode.Vertical);
  913.                 G.FillPath(x3, Draw.RoundRect(ClientRectangle, 4));
  914.                 G.DrawPath(p3, Draw.RoundRect(new Rectangle(0, 0, Width - 1, Height - 1), 3));
  915.                 G.DrawLine(new Pen(Color.FromArgb(190, 232, 109)), 2, 1, Width - 3, 1);
  916.                 DrawText(HorizontalAlignment.Center, Color.FromArgb(240, 240, 240), -1);
  917.                 break;
  918.         }
  919.         this.Cursor = Cursors.Hand;
  920.     }
  921. }
  922. class ButtonBlue : ThemeControl
  923. {
  924.     public override void PaintHook()
  925.     {
  926.         this.Font = new Font("Arial", 10);
  927.         G.Clear(this.BackColor);
  928.         G.SmoothingMode = SmoothingMode.HighQuality;
  929.         switch (MouseState)
  930.         {
  931.             case State.MouseNone:
  932.                 Pen p = new Pen(Color.FromArgb(34, 112, 171), 1);
  933.                 LinearGradientBrush x = new LinearGradientBrush(ClientRectangle, Color.FromArgb(51, 159, 231), Color.FromArgb(33, 128, 206), LinearGradientMode.Vertical);
  934.                 G.FillPath(x, Draw.RoundRect(ClientRectangle, 4));
  935.                 G.DrawPath(p, Draw.RoundRect(new Rectangle(0, 0, Width - 1, Height - 1), 3));
  936.                 G.DrawLine(new Pen(Color.FromArgb(131, 197, 241)), 2, 1, Width - 3, 1);
  937.                 DrawText(HorizontalAlignment.Center, Color.FromArgb(240, 240, 240), 0);
  938.                 break;
  939.             case State.MouseDown:
  940.                 Pen p1 = new Pen(Color.FromArgb(34, 112, 171), 1);
  941.                 LinearGradientBrush x1 = new LinearGradientBrush(ClientRectangle, Color.FromArgb(37, 124, 196), Color.FromArgb(53, 153, 219), LinearGradientMode.Vertical);
  942.                 G.FillPath(x1, Draw.RoundRect(ClientRectangle, 4));
  943.                 G.DrawPath(p1, Draw.RoundRect(new Rectangle(0, 0, Width - 1, Height - 1), 3));
  944.  
  945.                 DrawText(HorizontalAlignment.Center, Color.FromArgb(250, 250, 250), 1);
  946.                 break;
  947.             case State.MouseOver:
  948.                 Pen p2 = new Pen(Color.FromArgb(34, 112, 171), 1);
  949.                 LinearGradientBrush x2 = new LinearGradientBrush(ClientRectangle, Color.FromArgb(54, 167, 243), Color.FromArgb(35, 165, 217), LinearGradientMode.Vertical);
  950.                 G.FillPath(x2, Draw.RoundRect(ClientRectangle, 4));
  951.                 G.DrawPath(p2, Draw.RoundRect(new Rectangle(0, 0, Width - 1, Height - 1), 3));
  952.                 G.DrawLine(new Pen(Color.FromArgb(131, 197, 241)), 2, 1, Width - 3, 1);
  953.                 DrawText(HorizontalAlignment.Center, Color.FromArgb(240, 240, 240), -1);
  954.                 break;
  955.         }
  956.         this.Cursor = Cursors.Hand;
  957.     }
  958. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement