Exemple #1
0
        public void tssBase_Paint(object sender, PaintEventArgs e)
        {
            Graphics g = e.Graphics;

            //先画背景
            IMyContainer imctl = (IMyContainer)skinEng.GetInterface(tssBase.Owner);

            g.TranslateTransform(2, 2);
            imctl.InvokePaintBackground(tssBase, e);
            g.ResetClip();

            Rectangle drawRect = new Rectangle();

            drawRect.X      = (tssBase.Width - ToolStripSeparatorImage.Width) / 2;
            drawRect.Y      = 0;
            drawRect.Width  = ToolStripSeparatorImage.Width;
            drawRect.Height = tssBase.Height;

            //画分隔条
            GraphicHelper.DrawImageWithoutBorder(g, TrueToolStripSeparatorImage, drawRect);
        }
Exemple #2
0
        //画图
        public void tsbBase_Paint(object sender, PaintEventArgs e)
        {
            //先画背景
            IMyContainer imctl = (IMyContainer)skinEng.GetInterface(tsbBase.Owner);

            imctl.InvokePaintBackground(tsbBase, e);

            Graphics g          = e.Graphics;
            int      imageIndex = 0;

            if (IsMouseOn)
            {
                if (IsMouseDown)
                {
                    imageIndex = 2;
                }
                else
                {
                    imageIndex = 1;
                }
            }
            else
            {
                imageIndex = 0;
            }

            if (!tsbBase.Enabled)
            {
                imageIndex = 0;
            }


            //画按钮图片
            GraphicHelper.DrawImageWithoutBorder(g, TrueLeftTopImages[imageIndex], ButtonRects[0]);
            GraphicHelper.DrawImageWithoutBorder(g, TrueTopImages[imageIndex], ButtonRects[1]);
            GraphicHelper.DrawImageWithoutBorder(g, TrueRightTopImages[imageIndex], ButtonRects[2]);

            GraphicHelper.DrawImageWithoutBorder(g, TrueLeftImages[imageIndex], ButtonRects[3]);
            GraphicHelper.DrawImageWithoutBorder(g, TrueCenterImages[imageIndex], ButtonRects[4]);
            GraphicHelper.DrawImageWithoutBorder(g, TrueRightImages[imageIndex], ButtonRects[5]);

            GraphicHelper.DrawImageWithoutBorder(g, TrueLeftBottomImages[imageIndex], ButtonRects[6]);
            GraphicHelper.DrawImageWithoutBorder(g, TrueBottomImages[imageIndex], ButtonRects[7]);
            GraphicHelper.DrawImageWithoutBorder(g, TrueRightBottomImages[imageIndex], ButtonRects[8]);

            //准备工作
            StringFormat sf = new StringFormat();

            sf.Alignment     = StringAlignment.Center;
            sf.LineAlignment = StringAlignment.Center;
            sf.FormatFlags   = StringFormatFlags.NoWrap;

            SolidBrush sb = null;
            Color      textColor;

            Rectangle  rect  = new Rectangle(new Point(0, 0), tsbBase.Size);
            RectangleF rectF = new RectangleF(new Point(0, 0), tsbBase.Size);

            string displayText = GraphicHelper.GetAppropriateString(g, tsbBase.Text.Replace("&", string.Empty), tsbBase.Font, rectF);
            //文字大小
            SizeF stringSize = g.MeasureString(displayText, tsbBase.Font);


            Image toDrawImage;

            if (tsbBase.Enabled)
            {
                int hue, sat, bri;
                ColorHelper.RGB2HSB(skinEng.BackColor, out hue, out sat, out bri);
                textColor   = ColorHelper.HSB2RGBColor(hue, sat, 49);
                toDrawImage = tsbBase.Image;
            }
            else
            {
                imageIndex = 0;

                textColor   = Color.DarkGray;
                toDrawImage = ImageHelper.RemoveColor(tsbBase.Image);
            }
            //画背景图片
            if (tsbBase.BackgroundImage != null)
            {
                GraphicHelper.DrawImage(g, tsbBase.BackgroundImage, rect, tsbBase.BackgroundImageLayout);
            }

            sb = new SolidBrush(textColor);
            //画前景
            switch (tsbBase.DisplayStyle)
            {
            case ToolStripItemDisplayStyle.Image:
            {
                if (tsbBase.Image != null)
                {
                    GraphicHelper.DrawImage(g, toDrawImage, rect, ImageLayout.Center);
                }
                break;
            }

            case ToolStripItemDisplayStyle.Text:
            {
                g.DrawString(displayText, tsbBase.Font, sb, rectF, sf);
                break;
            }

            case ToolStripItemDisplayStyle.None:
            {
                break;
            }

            case ToolStripItemDisplayStyle.ImageAndText:
            {
                if (tsbBase.Image == null)
                {
                    g.DrawString(displayText, tsbBase.Font, sb, rectF, sf);
                }
                else
                {
                    int        totalWidth = (int)stringSize.Width + tsbBase.Image.Width;
                    Rectangle  rectImage  = new Rectangle((tsbBase.Width - totalWidth) / 2, (tsbBase.Height - tsbBase.Image.Height) / 2, tsbBase.Image.Width, tsbBase.Image.Height);
                    RectangleF rectText   = new RectangleF(rectImage.Right, (tsbBase.Height - stringSize.Height) / 2, stringSize.Width, stringSize.Height);
                    g.DrawImage(toDrawImage, rectImage);
                    g.DrawString(displayText, tsbBase.Font, sb, rectText, sf);
                }
                break;
            }
            }
        }
Exemple #3
0
        void tsBase_Paint(object sender, PaintEventArgs e)
        {
            Graphics g = e.Graphics;

            GraphicHelper.DrawImageWithoutBorder(g, TrueToolbarImage, new Rectangle(new Point(0, 0), tsBase.Size));
        }
Exemple #4
0
        void ssBase_Paint(object sender, PaintEventArgs e)
        {
            Graphics g = e.Graphics;

            GraphicHelper.DrawImageWithoutBorder(g, TrueStatusBar, new Rectangle(new Point(0, 0), ssBase.Size));
        }
Exemple #5
0
        private void DrawScrollbar()
        {
            Graphics g = Graphics.FromImage(bmpBuffer);

            Point pt = Form.MousePosition;

            pt = hsbBase.PointToClient(pt);
            //背景
            GraphicHelper.DrawImageWithoutBorder(g, TrueBackImage, new Rectangle(new Point(0, 0), hsbBase.Size));

            //左按钮
            int leftButtonIndex = 0;

            if (LeftButtonRect.Contains(pt) && MouseDownIndex == 0)
            {
                if (IsMouseDown)
                {
                    leftButtonIndex = 2;
                }
                else
                {
                    leftButtonIndex = 1;
                }
            }
            //右按钮
            int rightButtonIndex = 0;

            if (RightButtonRect.Contains(pt) && MouseDownIndex == 4)
            {
                if (IsMouseDown)
                {
                    rightButtonIndex = 2;
                }
                else
                {
                    rightButtonIndex = 1;
                }
            }
            //滚动按钮
            int scrollButtonIndex = 0;

            if (ScrollButtonRect.Contains(pt) && MouseDownIndex == 2)
            {
                if (IsMouseDown)
                {
                    scrollButtonIndex = 2;
                }
                else
                {
                    scrollButtonIndex = 1;
                }
            }

            for (int i = 0; i <= LeftButtonRects.Length - 1; i++)
            {
                GraphicHelper.DrawImageWithoutBorder(g, TrueLeftButtonImages[leftButtonIndex, i], LeftButtonRects[i]);
                GraphicHelper.DrawImageWithoutBorder(g, TrueRightButtonImages[rightButtonIndex, i], RightButtonRects[i]);
                GraphicHelper.DrawImageWithoutBorder(g, TrueScrollButtonImages[scrollButtonIndex, i], ScrollButtonRects[i]);
            }

            g = FakeScrollBar.CreateGraphics();
            g.DrawImage(bmpBuffer, 0, 0);
        }
Exemple #6
0
        private void DrawScrollbar()
        {
            Graphics g = Graphics.FromImage(bmp);

            Point pt = Form.MousePosition;

            pt = vsbBase.PointToClient(pt);
            //背景
            GraphicHelper.DrawImageWithoutBorder(g, TrueBackImage, new Rectangle(new Point(0, 0), vsbBase.Size));

            //上方按钮
            int topButtonIndex = 0;

            if (TopButtonRect.Contains(pt) && MouseDownIndex == 0)
            {
                if (IsMouseDown)
                {
                    topButtonIndex = 2;
                }
                else
                {
                    topButtonIndex = 1;
                }
            }
            //正方按钮
            int bottomButtonIndex = 0;

            if (BottomButtonRect.Contains(pt) && MouseDownIndex == 4)
            {
                if (IsMouseDown)
                {
                    bottomButtonIndex = 2;
                }
                else
                {
                    bottomButtonIndex = 1;
                }
            }
            //滚动按钮
            int scrollButtonIndex = 0;

            if (ScrollButtonRect.Contains(pt) && MouseDownIndex == 2)
            {
                if (IsMouseDown)
                {
                    scrollButtonIndex = 2;
                }
                else
                {
                    scrollButtonIndex = 1;
                }
            }

            if (TopButtonRects != null)
            {
                for (int i = 0; i <= TopButtonRects.Length - 1; i++)
                {
                    GraphicHelper.DrawImageWithoutBorder(g, TrueTopButtonImages[topButtonIndex, i], TopButtonRects[i]);
                    GraphicHelper.DrawImageWithoutBorder(g, TrueBottomButtonImages[bottomButtonIndex, i], BottomButtonRects[i]);
                    GraphicHelper.DrawImageWithoutBorder(g, TrueScrollButtonImages[scrollButtonIndex, i], ScrollButtonRects[i]);
                }
            }

            g = FakeScrollBar.CreateGraphics();
            g.DrawImage(bmp, 0, 0);
        }
Exemple #7
0
        //画图
        void btnBase_Paint(object sender, PaintEventArgs e)
        {
            //Debug.Print("btnBase_Paint,ButtonText:" + btnBase.Text);
            Graphics g          = e.Graphics;
            int      imageIndex = 0;

            if (IsMouseOn)
            {
                if (IsMouseDown)
                {
                    imageIndex = 2;
                }
                else
                {
                    imageIndex = 1;
                }
            }
            else
            {
                imageIndex = 0;

#warning 当按钮得到焦点时
                //当按钮得到焦点时
                if (btnBase.Focused)
                {
                    imageIndex = 1;
                }
            }

            StringFormat sf = new StringFormat();
            sf.Alignment     = StringAlignment.Center;
            sf.LineAlignment = StringAlignment.Center;
            sf.FormatFlags   = StringFormatFlags.NoWrap;

            SolidBrush sb = null;

            Rectangle  rect  = ButtonRects[4];
            RectangleF rectF = ButtonRects[4];

            string displayText = GraphicHelper.GetAppropriateString(g, btnBase.Text.Replace("&", string.Empty), btnBase.Font, rectF);

            Color textColor;
            if (btnBase.Enabled)
            {
                textColor = ButtonTextColor;
            }
            else
            {
                imageIndex = 3;
                textColor  = ButtonDisableTextColor;
            }
            //画按钮图片
            GraphicHelper.DrawImageWithoutBorder(g, TrueLeftTopImages[imageIndex], ButtonRects[0]);
            GraphicHelper.DrawImageWithoutBorder(g, TrueTopImages[imageIndex], ButtonRects[1]);
            GraphicHelper.DrawImageWithoutBorder(g, TrueRightTopImages[imageIndex], ButtonRects[2]);

            GraphicHelper.DrawImageWithoutBorder(g, TrueLeftImages[imageIndex], ButtonRects[3]);
            GraphicHelper.DrawImageWithoutBorder(g, TrueCenterImages[imageIndex], ButtonRects[4]);
            GraphicHelper.DrawImageWithoutBorder(g, TrueRightImages[imageIndex], ButtonRects[5]);

            GraphicHelper.DrawImageWithoutBorder(g, TrueLeftBottomImages[imageIndex], ButtonRects[6]);
            GraphicHelper.DrawImageWithoutBorder(g, TrueBottomImages[imageIndex], ButtonRects[7]);
            GraphicHelper.DrawImageWithoutBorder(g, TrueRightBottomImages[imageIndex], ButtonRects[8]);

            //画背景图片
            if (btnBase.BackgroundImage != null)
            {
                GraphicHelper.DrawImage(g, btnBase.BackgroundImage, rect, btnBase.BackgroundImageLayout);
            }
            //画前景图片
            if (btnBase.Image != null)
            {
                GraphicHelper.DrawImage(g, btnBase.Image, rect, btnBase.ImageAlign);
            }
            sb = new SolidBrush(textColor);
            g.DrawString(displayText, btnBase.Font, sb, rectF, sf);
        }