Exemple #1
0
        private void OnPaint(object sender, System.Windows.Forms.PaintEventArgs e)
        {
            System.Drawing.Graphics g = e.Graphics;
            g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias;
            int wi = 0;

            if (m_Items.Count > 0)
            {
                SizeF [] size_entries = new SizeF[m_Items.Count];
                int      i;
                for (i = 0; i < m_Items.Count; i++)
                {
                    string s = ((PercentChartItem)(m_Items[i])).Text;
                    size_entries[i] = g.MeasureString(s, PFont);
                    if (size_entries[i].Width > wi)
                    {
                        wi = (int)(size_entries[i].Width);
                    }
                }
                int ps = this.Width - RoundCornerUpLeft.Width - SUpReleased.Width;
                for (i = 0; i < m_Items.Count; i++)
                {
                    PercentChartItem pi = (PercentChartItem)m_Items[i];
                    g.DrawString(pi.Text, PFont, PTextBrush, 2 + wi - size_entries[i].Width, 16 * i - PageStart);
                    if (pi.Percent > 0.0)
                    {
                        int bs;
                        int ci    = i % 8;
                        int pblen = (int)(pi.Percent * (ps - wi - 8 - BarImages[ci, 0].Width - BarImages[ci, 2].Width));
                        int pend  = pblen + wi + 4 + BarImages[ci, 0].Width;
                        for (bs = wi + 4 + BarImages[ci, 0].Width; (bs + BarImages[ci, 1].Width) < pend; bs += (int)BarImages[ci, 1].Width)
                        {
                            g.DrawImageUnscaled(BarImages[ci, 1], bs, i * 16 - PageStart);
                        }
                        g.DrawImage(BarImages[ci, 1], bs, i * 16 - PageStart, pend - bs, BarImages[ci, 1].Height);
                        g.DrawImageUnscaled(BarImages[ci, 0], wi + 4, i * 16 - PageStart);
                        g.DrawImageUnscaled(BarImages[ci, 2], pblen + wi + 4 + BarImages[ci, 0].Width, i * 16 - PageStart);
                    }
                }
            }
            g.DrawImageUnscaled(RoundCornerUpLeft, 0, 0);
            g.DrawImageUnscaled(RoundCornerDownLeft, 0, this.Height - RoundCornerDownLeft.Height);
        }
Exemple #2
0
 public void Insert(int index, PercentChartItem pi)
 {
     m_Entries.Insert(index, pi);
     m_Owner.ViewRefresh();
 }
Exemple #3
0
 public void Add(PercentChartItem pi)
 {
     m_Entries.Add(pi);
     m_Owner.ViewRefresh();
 }