[.net] OwnerDraw ListView subitem problems

Started by
0 comments, last by Headkaze 15 years, 6 months ago
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.
Advertisement
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