Example #1
0
        protected override void OnPaint(PaintEventArgs e)
        {
            this.SetAutoSize();
            //base.OnPaint (e);

            if (_HasImageError)
            {
                CreateAll();
            }

            if (_bufferSurface != null)
            {
                _bufferSurface.RenderToControl(0, 0);
            }
        }
Example #2
0
        protected override void OnPaint(PaintEventArgs e)
        {
            SetAutoSize();
            //base.OnPaint (e);

            if (_HasImageError)
            {
                CreateAll();
            }

            var      bbuff = new GDISurface(Width, Height, this, true);
            Graphics g     = Graphics.FromHdc(bbuff.hDC);

            try
            {
                bbuff.FontTransparent = true;

                if (BackgroundImage != null)
                {
                    g.DrawImage(BackgroundImage, 0, 0, Width, Height);
                }
                else
                {
                    bbuff.Clear(BackColor);
                }
                int x = Margin;
                int y = Margin;
                for (int i = vScroll.Value; i < _Rows.Count; i++)
                {
                    var r = (Row)_Rows[i];
                    x         = Margin;
                    r.Visible = true;
                    r.Top     = y;
                    if (r.RenderSeparator)
                    {
                        Color c1 = Color.FromArgb(120, 0, 0, 0);
                        Brush b1 = new SolidBrush(c1);
                        g.FillRectangle(b1, 0, y, Width, 1);

                        Color c2 = Color.FromArgb(120, 255, 255, 255);
                        Brush b2 = new SolidBrush(c2);
                        g.FillRectangle(b2, 0, y + 1, Width, 1);

                        b1.Dispose();
                        b2.Dispose();


                        //bbuff.DrawLine (this.ForeColor,new Point (0,y),new Point (this.Width,y));
                    }

                    foreach (Word w in r.Words)
                    {
                        int ypos = r.Height - w.Height + y;

                        if (w.Image != null)
                        {
                            g.DrawImage(w.Image, x, y);
                            //bbuff.FillRect (Color.Red ,x,ypos,w.Width ,w.Height);
                        }
                        else
                        {
                            GDIFont gf;
                            if (w.Element.Link != null)
                            {
                                Font f = null;

                                FontStyle fs = w.Element.Font.Style;
                                if (w.Element.Link == _ActiveElement)
                                {
                                    if (_Link_UnderLine_Hover)
                                    {
                                        fs |= FontStyle.Underline;
                                    }

                                    f = new Font(w.Element.Font, fs);
                                }
                                else
                                {
                                    if (_Link_UnderLine)
                                    {
                                        fs |= FontStyle.Underline;
                                    }

                                    f = new Font(w.Element.Font, fs);
                                }

                                gf = GetFont(f);
                            }
                            else
                            {
                                gf = GetFont(w.Element.Font);
                            }

                            bbuff.Font = gf;
                            if (w.Element.Effect != TextEffect.None)
                            {
                                bbuff.TextForeColor = w.Element.EffectColor;

                                if (w.Element.Effect == TextEffect.Outline)
                                {
                                    for (int xx = -1; xx <= 1; xx++)
                                    {
                                        for (int yy = -1; yy <= 1; yy++)
                                        {
                                            bbuff.DrawTabbedString(w.Text, x + xx, ypos + yy, 0, 0);
                                        }
                                    }
                                }
                                else if (w.Element.Effect != TextEffect.None)
                                {
                                    bbuff.DrawTabbedString(w.Text, x + 1, ypos + 1, 0, 0);
                                }
                            }


                            if (w.Element.Link != null)
                            {
                                if (w.Element.Link == _ActiveElement)
                                {
                                    bbuff.TextForeColor = Link_Color_Hover;
                                }
                                else
                                {
                                    bbuff.TextForeColor = Link_Color;
                                }
                            }
                            else
                            {
                                bbuff.TextForeColor = w.Element.ForeColor;
                            }

                            bbuff.TextBackColor = w.Element.BackColor;
                            bbuff.DrawTabbedString(w.Text, x, ypos, 0, 0);
                        }

                        w.ScreenArea.X = x;
                        w.ScreenArea.Y = ypos;
                        x += w.Width;
                    }

                    y += r.Height + r.BottomPadd;
                    if (y > Height)
                    {
                        break;
                    }
                }
            }
            catch (Exception x)
            {
                Console.WriteLine(x.Message);
            }
            bbuff.RenderToControl(0, 0);
            bbuff.Dispose();
            g.Dispose();
        }
        protected override void OnPaint(PaintEventArgs e)
        {
            this.SetAutoSize();
            //base.OnPaint (e);

            if (_HasImageError)
            {
                CreateAll();
            }

            if (_bufferSurface != null)
            {
                _bufferSurface.RenderToControl(0, 0);
            }

            //GDISurface bbuff = new GDISurface(this.Width, this.Height, this, true);

            //Graphics g = Graphics.FromHdc(bbuff.hDC);
            //try
            //{
            //    bbuff.FontTransparent = true;

            //    if (this.BackgroundImage != null)
            //    {
            //        g.DrawImage(this.BackgroundImage, 0, 0, this.Width, this.Height);
            //    }
            //    else
            //    {
            //        bbuff.Clear(this.BackColor);
            //    }
            //    int x = LabelMargin;
            //    int y = LabelMargin;
            //    for (int i = vScroll.Value; i < _Rows.Count; i++)
            //    {
            //        FormatLabelRow r = (FormatLabelRow) _Rows[i];
            //        x = LabelMargin;
            //        r.Visible = true;
            //        r.Top = y;
            //        if (r.RenderSeparator)
            //        {
            //            Color c1 = Color.FromArgb(120, 0, 0, 0);
            //            Brush b1 = new SolidBrush(c1);
            //            g.FillRectangle(b1, 0, y, this.Width, 1);

            //            Color c2 = Color.FromArgb(120, 255, 255, 255);
            //            Brush b2 = new SolidBrush(c2);
            //            g.FillRectangle(b2, 0, y + 1, this.Width, 1);

            //            b1.Dispose();
            //            b2.Dispose();


            //            //bbuff.DrawLine (this.ForeColor,new Point (0,y),new Point (this.Width,y));
            //        }

            //        foreach (FormatLabelWord w in r.Words)
            //        {
            //            int ypos = r.Height - w.Height + y;

            //            if (w.Image != null)
            //            {
            //                g.DrawImage(w.Image, x, y);
            //                //bbuff.FillRect (Color.Red ,x,ypos,w.Width ,w.Height);
            //            }
            //            else
            //            {
            //                GDIFont gf = null;
            //                if (w.Element.Link != null)
            //                {
            //                    Font f = null;

            //                    FontStyle fs = w.Element.Font.Style;
            //                    if (w.Element.Link == _ActiveElement)
            //                    {
            //                        if (_Link_UnderLine_Hover)
            //                            fs |= FontStyle.Underline;

            //                        f = new Font(w.Element.Font, fs);
            //                    }
            //                    else
            //                    {
            //                        if (_Link_UnderLine)
            //                            fs |= FontStyle.Underline;

            //                        f = new Font(w.Element.Font, fs);
            //                    }

            //                    gf = GetFont(f);
            //                }
            //                else
            //                {
            //                    gf = GetFont(w.Element.Font);
            //                }

            //                bbuff.Font = gf;
            //                if (w.Element.Effect != TextEffect.None)
            //                {
            //                    bbuff.TextForeColor = w.Element.EffectColor;

            //                    if (w.Element.Effect == TextEffect.Outline)
            //                    {
            //                        for (int xx = -1; xx <= 1; xx++)
            //                            for (int yy = -1; yy <= 1; yy++)
            //                                bbuff.DrawTabbedString(w.Text, x + xx, ypos + yy, 0, 0);


            //                    }
            //                    else if (w.Element.Effect != TextEffect.None)
            //                    {
            //                        bbuff.DrawTabbedString(w.Text, x + 1, ypos + 1, 0, 0);
            //                    }
            //                }


            //                if (w.Element.Link != null)
            //                {
            //                    if (w.Element.Link == _ActiveElement)
            //                    {
            //                        bbuff.TextForeColor = Link_Color_Hover;
            //                    }
            //                    else
            //                    {
            //                        bbuff.TextForeColor = Link_Color;
            //                    }
            //                }
            //                else
            //                    bbuff.TextForeColor = w.Element.ForeColor;

            //                bbuff.TextBackColor = w.Element.BackColor;
            //                bbuff.DrawTabbedString(w.Text, x, ypos, 0, 0);
            //            }

            //            w.ScreenArea.X = x;
            //            w.ScreenArea.Y = ypos;
            //            x += w.Width;
            //        }

            //        y += r.Height + r.BottomPadd;
            //        if (y > this.Height)
            //            break;
            //    }

            //}
            //catch (Exception x)
            //{
            //    Console.WriteLine(x.Message);
            //}
            //bbuff.RenderToControl(0, 0);
            //bbuff.Dispose();
            //g.Dispose();
        }