예제 #1
0
        protected override void OnDrawSubItem(DrawListViewSubItemEventArgs e)
        {
            Color bcolor = BackColor, fcolor = ForeColor;

            switch (e.ItemState)
            {
            case ListViewItemStates.Selected:  break;

            case ListViewItemStates.Hot:
            case ListViewItemStates.Indeterminate:
            case ListViewItemStates.Default:
            case ListViewItemStates.Checked:
            case ListViewItemStates.Focused:
            case ListViewItemStates.Grayed:
            case ListViewItemStates.Marked:
            case ListViewItemStates.ShowKeyboardCues:
            default: break;
            }
            Font icfont = fc.CreateIconFont(e.Item.Text, fc.Info);

            e.Graphics.Clip = new Region(e.Bounds);
            //e.Graphics.Clear(usecolor);
            //e.DrawBackground();
            e.Graphics.FillRectangle(new SolidBrush(bcolor), e.Bounds);
            //e.Bounds.Inflate(GetSize(e.Item.Text,e.Item.Text));
            if (e.ColumnIndex == 0)
            {
                e.Graphics.DrawString(e.SubItem.Text, icfont, SystemBrushes.WindowText, e.Bounds.Location);
            }
            else
            {
                e.Graphics.DrawString(e.SubItem.Text, SystemFonts.CaptionFont, SystemBrushes.WindowText, e.Bounds.Location);
            }
            e.Graphics.ResetClip();
            icfont.Dispose();
            base.OnDrawSubItem(e);
        }