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.
Jeff Gaines - 05 Oct 2008 12:33 GMT
On 05/10/2008 in message <eecpQpnJJHA.1556@TK2MSFTNGP03.phx.gbl> James
wrote:
>private void listView1_DrawSubItem(object sender,
>DrawListViewSubItemEventArgs e)
[quoted text clipped - 9 lines]
>}
>}
I'm pretty sure I have sen this in another group.
Anyway, you always draw the sub-item in the same style from your code. If
you want it to look different for different states you need to check its
state and draw it accordingly.

Signature
Jeff Gaines Damerham Hampshire UK
It may be that your sole purpose in life is to serve as a warning to others.