0
Reply

OwnerDraw ListView subitem problems

James

James

Oct 4 2008 4:00 PM
9.4k
Hi All,
 
I have an ownerdraw ListView control.
I'm trying to use an ownerdrawn ListView control to draw and display images in the second column of
a listview which is set to detail view.
 
I have overridden the DrawColumnHeader, DrawItem, DrawSubItem methods as displayed below.
It is drawing the icon correctly, however, when I click on a row, the middle column, eg. column 1
is not being shown as selected.  All other columns look selected whenever I click on a row.
 
Can somebody please help with having the selected row displayed correctly?
 
private void listView1_DrawColumnHeader(object sender, DrawListViewColumnHeaderEventArgs e)
{
 e.DrawDefault = true;
}
 
private void listView1_DrawSubItem(object sender, DrawListViewSubItemEventArgs e)
{
 if (e.ColumnIndex == 1)
 {
  e.DrawBackground();
  e.Graphics.DrawImage(e.Item.ImageList.Images[e.Item.ImageIndex], e.SubItem.Bounds.Location);
  e.Graphics.DrawString(e.SubItem.Text, e.SubItem.Font, new SolidBrush(e.SubItem.ForeColor), e.SubItem.Bounds.Location.X + this.imageListTask.Images[0].Width, e.SubItem.Bounds.Location.Y);
 }
}
 
Many thanks,
Jr.