public override void Draw(ObjectListView olv, Graphics g, Rectangle r)
{
if ((olv.View == View.Details) && (olv.GetItemCount() != 0))
{
OLVColumn column = this.ColumnToTint ?? olv.SelectedColumn;
if (column != null)
{
Point scrolledColumnSides = BrightIdeasSoftware.NativeMethods.GetScrolledColumnSides(olv, column.Index);
if (scrolledColumnSides.X != -1)
{
Rectangle rect = new Rectangle(scrolledColumnSides.X, r.Top, scrolledColumnSides.Y - scrolledColumnSides.X, r.Bottom);
OLVListItem lastItemInDisplayOrder = olv.GetLastItemInDisplayOrder();
if (lastItemInDisplayOrder != null)
{
Rectangle bounds = lastItemInDisplayOrder.Bounds;
if (!(bounds.IsEmpty || (bounds.Bottom >= rect.Bottom)))
{
rect.Height = bounds.Bottom - rect.Top;
}
}
g.FillRectangle(this.tintBrush, rect);
}
}
}
}