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