当CListCtrl控件每一项状态有变化时,如何实现该项图标随之变化?
  比如,选中与为被选中是两种状态,那么如何实现该项的图标也随之变化呢?  谢谢

解决方案 »

  1.   

    Virtual List-View Control
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/commctls/listview/listview_overview.asp
      

  2.   

    响应以下消息
    LVN_BEGINDRAG
    LVN_BEGINLABELEDIT
    LVN_BEGINRDRAG
    LVN_COLUMNCLICK
    LVN_DELETEALLITEMS
    LVN_DELETEITEM
    LVN_ENDLABELEDIT
    LVN_GETDISPINFO
    LVN_GETINFOTIP
    LVN_INSERTITEM
    LVN_HOTTRACK
    LVN_ITEMACTIVATE
    LVN_ITEMCHANGED
    LVN_ITEMCHANGING
    LVN_KEYDOWN
    LVN_MARQUEEBEGIN
    LVN_ODCACHEHINT
    LVN_ODFINDITEM
    LVN_ODSTATECHANGED
    LVN_SETDISPINFO
    NM_CLICK (list view)
    NM_CUSTOMDRAW (list view)
    NM_DBLCLK (list view)
    NM_HOVER (list view)
    NM_KILLFOCUS (list view)
    NM_RCLICK (list view)
    NM_RDBLCLK (list view)
    NM_RELEASEDCAPTURE (list view)
    NM_RETURN (list view)
    NM_SETFOCUS (list view)
      

  3.   

    选中与未选中
    在insertitem的时候就可以设置了
      

  4.   

    NM_CUSTOMDRAWvoid CListCtrlEx::OnNMCustomdraw(NMHDR *pNMHDR, LRESULT *pResult)
    {
    NMLVCUSTOMDRAW* pLVCD = reinterpret_cast<NMLVCUSTOMDRAW*>( pNMHDR );
    pLVCD->nmcd.uItemState 
    。。
    }根据pLVCD->nmcd.uItemState 不同的状态http://www.microsoft.com/china/msdn/library/langtool/vs2005/dnvs05customdraw.mspx?mfr=true