[.net] OwnerDraw ListView subitem problems
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, and 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.
Have you created your own ListView control and inherited ListView then overridden the draw methods? If so you should use base.DrawColumnHeader(sender, e); first then draw what you want over the top. Is that what your doing because I don't see the overrides there at all.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement