x60982e1b4eef090a.cs
上传用户:xlxx0122
上传日期:2015-04-24
资源大小:3904k
文件大小:9k
源码类别:

.net编程

开发平台:

C#

  1. namespace Sunisoft.IrisSkin
  2. {
  3.     using System;
  4.     using System.Drawing;
  5.     using System.Windows.Forms;
  6.     internal class x60982e1b4eef090a : Control
  7.     {
  8.         private ScrollBar x246c0c54671f3f3e;
  9.         private bool x8875b8c88ca272fe;
  10.         private SkinEngine xdc87e2b99332cd4a;
  11.         public x60982e1b4eef090a(ScrollBar host, SkinEngine engine, bool hScroll)
  12.         {
  13.             this.x246c0c54671f3f3e = host;
  14.             this.xdc87e2b99332cd4a = engine;
  15.             this.x8875b8c88ca272fe = hScroll;
  16.             if (host.Parent != null)
  17.             {
  18.                 if (host.Parent is TableLayoutPanel)
  19.                 {
  20.                     if (host.Parent.Parent != null)
  21.                     {
  22.                         host.Parent.Parent.SuspendLayout();
  23.                         host.Parent.Parent.Controls.Add(this);
  24.                         host.Parent.Parent.ResumeLayout();
  25.                     }
  26.                 }
  27.                 else
  28.                 {
  29.                     host.Parent.SuspendLayout();
  30.                     host.Parent.Controls.Add(this);
  31.                     host.Parent.ResumeLayout();
  32.                 }
  33.             }
  34.         }
  35.         protected override void OnPaint(PaintEventArgs e)
  36.         {
  37.             this.x8bc95f030953f87b(e.Graphics);
  38.         }
  39.         public void Repaint()
  40.         {
  41.             using (Graphics graphics = Graphics.FromHwnd(base.Handle))
  42.             {
  43.                 this.x8bc95f030953f87b(graphics);
  44.             }
  45.         }
  46.         protected override void WndProc(ref Message m)
  47.         {
  48.             if (this.x246c0c54671f3f3e != null)
  49.             {
  50.                 switch (((uint) m.Msg))
  51.                 {
  52.                     case 0x200:
  53.                     case 0x201:
  54.                     case 0x204:
  55.                     case 0x20a:
  56.                         x61467fe65a98f20c.PostMessage(this.x246c0c54671f3f3e.Handle, (uint) m.Msg, m.WParam, m.LParam);
  57.                         return;
  58.                 }
  59.             }
  60.             base.WndProc(ref m);
  61.         }
  62.         private void x3a329aff8c7e9df4(Graphics x4b101060f4767186, ScrollBar x2ee8392f53a01b93, Rectangle x382bb49d8f914534)
  63.         {
  64.             Brush brush = this.xdc87e2b99332cd4a.Res.Brushes.SKIN2_SCROLLBARCOLOR;
  65.             x4b101060f4767186.FillRectangle(brush, x382bb49d8f914534);
  66.             int height = 0;
  67.             int num2 = 0;
  68.             height = Math.Min(0x10, base.Height / 2);
  69.             Bitmap image = this.xdc87e2b99332cd4a.Res.ScrollBarRes.UpButton[0, num2];
  70.             Rectangle srcRect = new Rectangle(0, 0, image.Width, image.Height);
  71.             Rectangle destRect = new Rectangle(x382bb49d8f914534.X, x382bb49d8f914534.Y, x382bb49d8f914534.Width, height);
  72.             x4b101060f4767186.DrawImage(image, destRect, srcRect, GraphicsUnit.Pixel);
  73.             image = this.xdc87e2b99332cd4a.Res.ScrollBarRes.DownButton[0, num2];
  74.             srcRect = new Rectangle(0, 0, image.Width, image.Height);
  75.             destRect = new Rectangle(x382bb49d8f914534.X, x382bb49d8f914534.Bottom - height, x382bb49d8f914534.Width, height);
  76.             x4b101060f4767186.DrawImage(image, destRect, srcRect, GraphicsUnit.Pixel);
  77.             int num3 = x2ee8392f53a01b93.Value;
  78.             int largeChange = x2ee8392f53a01b93.LargeChange;
  79.             if (largeChange == 0)
  80.             {
  81.                 largeChange = 1;
  82.             }
  83.             int num5 = x382bb49d8f914534.Height - (height * 2);
  84.             int num6 = (num5 * largeChange) / ((x2ee8392f53a01b93.Maximum - x2ee8392f53a01b93.Minimum) + 1);
  85.             if ((num6 < 10) && (num5 >= 10))
  86.             {
  87.                 num6 = 10;
  88.             }
  89.             int num7 = 0;
  90.             if (largeChange == ((x2ee8392f53a01b93.Maximum - x2ee8392f53a01b93.Minimum) + 1))
  91.             {
  92.                 num7 = 0;
  93.             }
  94.             else
  95.             {
  96.                 num7 = ((num5 - num6) * (num3 - x2ee8392f53a01b93.Minimum)) / (((x2ee8392f53a01b93.Maximum - x2ee8392f53a01b93.Minimum) + 1) - largeChange);
  97.             }
  98.             if (num7 < 0)
  99.             {
  100.                 num7 = 0;
  101.             }
  102.             if (num7 > (num5 - num6))
  103.             {
  104.                 num7 = num5 - num6;
  105.             }
  106.             if (num5 >= 10)
  107.             {
  108.                 destRect = new Rectangle(x382bb49d8f914534.Left, (x382bb49d8f914534.Top + height) + num7, x382bb49d8f914534.Width, num6);
  109.                 x448fd9ab43628c71.PaintSlider(this.xdc87e2b99332cd4a, x4b101060f4767186, destRect, true);
  110.             }
  111.         }
  112.         private void x8bc95f030953f87b(Graphics x4b101060f4767186)
  113.         {
  114.             if ((base.ClientRectangle.Width > 0) && (base.ClientRectangle.Height > 0))
  115.             {
  116.                 if (this.x8875b8c88ca272fe)
  117.                 {
  118.                     using (Bitmap bitmap = new Bitmap(base.Width, base.Height))
  119.                     {
  120.                         using (Graphics graphics = Graphics.FromImage(bitmap))
  121.                         {
  122.                             this.xb16feaabcbd204bd(graphics, this.x246c0c54671f3f3e, base.ClientRectangle);
  123.                         }
  124.                         x4b101060f4767186.DrawImageUnscaled(bitmap, 0, 0);
  125.                         return;
  126.                     }
  127.                 }
  128.                 using (Bitmap bitmap2 = new Bitmap(base.Width, base.Height))
  129.                 {
  130.                     using (Graphics.FromImage(bitmap2))
  131.                     {
  132.                         this.x3a329aff8c7e9df4(x4b101060f4767186, this.x246c0c54671f3f3e, base.ClientRectangle);
  133.                     }
  134.                     x4b101060f4767186.DrawImageUnscaled(bitmap2, 0, 0);
  135.                 }
  136.             }
  137.         }
  138.         private void xb16feaabcbd204bd(Graphics x4b101060f4767186, ScrollBar x2ee8392f53a01b93, Rectangle x382bb49d8f914534)
  139.         {
  140.             Brush backColorBrush = this.xdc87e2b99332cd4a.Res.ScrollBarRes.BackColorBrush;
  141.             x4b101060f4767186.FillRectangle(backColorBrush, x382bb49d8f914534);
  142.             int width = 0;
  143.             int num2 = 0;
  144.             width = Math.Min(0x10, base.Width / 2);
  145.             Bitmap image = this.xdc87e2b99332cd4a.Res.ScrollBarRes.UpButton[1, num2];
  146.             Rectangle srcRect = new Rectangle(0, 0, image.Width, image.Height);
  147.             Rectangle destRect = new Rectangle(x382bb49d8f914534.X, x382bb49d8f914534.Y, width, x382bb49d8f914534.Height);
  148.             x4b101060f4767186.DrawImage(image, destRect, srcRect, GraphicsUnit.Pixel);
  149.             image = this.xdc87e2b99332cd4a.Res.ScrollBarRes.DownButton[1, num2];
  150.             srcRect = new Rectangle(0, 0, image.Width, image.Height);
  151.             destRect = new Rectangle(x382bb49d8f914534.Right - width, x382bb49d8f914534.Y, width, x382bb49d8f914534.Height);
  152.             x4b101060f4767186.DrawImage(image, destRect, srcRect, GraphicsUnit.Pixel);
  153.             int num3 = x2ee8392f53a01b93.Value;
  154.             int largeChange = x2ee8392f53a01b93.LargeChange;
  155.             if (largeChange == 0)
  156.             {
  157.                 largeChange = 1;
  158.             }
  159.             int num5 = x382bb49d8f914534.Width - (width * 2);
  160.             int num6 = (num5 * largeChange) / ((x2ee8392f53a01b93.Maximum - x2ee8392f53a01b93.Minimum) + 1);
  161.             if ((num6 < 10) && (num5 >= 10))
  162.             {
  163.                 num6 = 10;
  164.             }
  165.             int num7 = 0;
  166.             if (largeChange == ((x2ee8392f53a01b93.Maximum - x2ee8392f53a01b93.Minimum) + 1))
  167.             {
  168.                 num7 = 0;
  169.             }
  170.             else
  171.             {
  172.                 num7 = ((num5 - num6) * (num3 - x2ee8392f53a01b93.Minimum)) / (((x2ee8392f53a01b93.Maximum - x2ee8392f53a01b93.Minimum) + 1) - largeChange);
  173.             }
  174.             if (num7 < 0)
  175.             {
  176.                 num7 = 0;
  177.             }
  178.             if (num7 > (num5 - num6))
  179.             {
  180.                 num7 = num5 - num6;
  181.             }
  182.             if (num5 >= 10)
  183.             {
  184.                 if ((this.x246c0c54671f3f3e.RightToLeft & RightToLeft.Yes) == RightToLeft.Yes)
  185.                 {
  186.                     destRect = new Rectangle(((x382bb49d8f914534.Right - width) - num7) - num6, x382bb49d8f914534.Top, num6, x382bb49d8f914534.Height);
  187.                 }
  188.                 else
  189.                 {
  190.                     destRect = new Rectangle((x382bb49d8f914534.Left + width) + num7, x382bb49d8f914534.Top, num6, x382bb49d8f914534.Height);
  191.                 }
  192.                 x448fd9ab43628c71.PaintSlider(this.xdc87e2b99332cd4a, x4b101060f4767186, destRect, false);
  193.             }
  194.         }
  195.     }
  196. }