The fact that there is no way to set an item's RECT and that ListViews only supports LVS_OWNERDRAWFIXED leads me to believe that you are, unfortunately, out of luck... Unless, you only have one column in the ListView in question, then might I recommend moving to a ListBox instead... its WM_MEASUREITEM suffers the same problem ( only ever getting called once ), but you can set an items RECT at runtime ( like when the user clicks on it ).
void CMyZoomListBox::OnSelchange()
{
if ( -1 != m_nLastSelection ) {
SetItemHeight ( m\_nLastSelection, m\_nNormalSize );
}
m\_nLastSelection = GetCurSel ();
SetItemHeight ( m\_nLastSelection, m\_nZoomSize );
Invalidate (); // update window to reflect size changes
}
Ben Burnett --------- On the topic of code with no error handling -- It's not poor coding, it's "optimistic" ;)