Oh One more thing, when you are unselecting an item but you still want the
AliR.
Here is how I would do it. I would catch the LVN_ITEMCHANGED message for
the list ctrl and check to see if the item is being selected. If it is and
it is disabled then I would simply unselected it.
//every other item is disabled!
BOOL CMyListCtrl::IsItemDisabled(UINT ItemID)
{
return ItemID % 2 != 0;
}
void CMyListCtrl::OnLvnItemchanged(NMHDR *pNMHDR, LRESULT *pResult)
{
LPNMLISTVIEW pNMLV = reinterpret_cast<LPNMLISTVIEW>(pNMHDR);
//if item is being selected and is diabled
if (IsItemDisabled(pNMLV->iItem) && (pNMLV->uNewState & LVIS_SELECTED)
== LVIS_SELECTED)
{
//unselect it!
SetItemState(pNMLV->iItem,0,LVIS_SELECTED);
}
*pResult = 0;
}
AliR.
"German Koninin" <nomail@available.com> wrote in message
news:eoMskzQUHHA.4872@TK2MSFTNGP03.phx.gbl...
Hello everybody.
I have a CListCtrl derived class wich is also owner draw. Now I need to
disable selecting items. So user should be able to see the list and be
able to scroll it and everything. But selecting items should be disabled.
I wrote a handle for OnLButtonDown which give me an opportunity to handle
mouse button clicking and so user can't select the item by mouse. But it
is still possible by arrows. I tried to handle VKeyToItem but it aseems
never get called. So in my case how can I disable selecting items by
arrows also. Or is there any better way to do that all together?
PS: I was looking for some properties for a CListCtrl but didn't find
anything useful.
Thanks
German Koninin