Exemplo n.º 1
0
 private TreeNodeCollection AddBand(BandBase band, TreeNodeCollection nodes)
 {
     if (band != null)
     {
         ObjectInfo info     = RegisteredObjects.FindObject(band);
         string     infoText = Res.Get(info.Text);
         infoText += ": " + band.Name;
         if (band is DataBand || band is GroupHeaderBand)
         {
             if (!String.IsNullOrEmpty(band.GetInfoText()))
             {
                 infoText += " (" + band.GetInfoText() + ")";
             }
         }
         TreeNode node       = nodes.Add(infoText);
         int      imageIndex = info.ImageIndex;
         node.ImageIndex         = imageIndex;
         node.SelectedImageIndex = imageIndex;
         node.Tag = band;
         if (band == FLastSelectedBand)
         {
             tvBands.SelectedNode = node;
         }
         AddBand(band.Child, node.Nodes);
         return(node.Nodes);
     }
     return(null);
 }
Exemplo n.º 2
0
        protected override void OnDrawItem(DrawItemEventArgs e)
        {
            e.DrawBackground();

            if (e.Index < 0)
            {
                return;
            }
            BandBase c   = Items[e.Index] as BandBase;
            Image    img = c == null?Res.GetImage(76) : RegisteredObjects.FindObject(c).Image;

            e.Graphics.DrawImage(img, e.Bounds.X + 2, e.Bounds.Y);
            using (Brush b = new SolidBrush(e.ForeColor))
            {
                string text = "";
                if (c == null)
                {
                    text = Res.Get("Misc,None");
                }
                else
                {
                    text = Res.Get(RegisteredObjects.FindObject(c).Text);
                    if (c is DataBand)
                    {
                        text += ": " + c.GetInfoText();
                    }
                    else if (c is DataFooterBand)
                    {
                        text += ": " + c.DataBand.GetInfoText();
                    }
                    else if (c is GroupFooterBand)
                    {
                        text += ": " + (c.Parent as GroupHeaderBand).GetInfoText();
                    }
                }
                e.Graphics.DrawString(text, e.Font, b,
                                      e.Bounds.X + 24, e.Bounds.Y + (e.Bounds.Height - ItemHeight) / 2);
            }
        }