一旦在控件中选定属性
owner draw fixed,
则程序在执行insertitem时出错,
去掉该属性则正常,
这是怎么回事,该如何解决?

解决方案 »

  1.   

    什么属性都不用改:添加下面通知消息
    ON_NOTIFY_REFLECT(NM_CUSTOMDRAW, OnCustomDraw)添加处理函数。
    //========================================================================
    void CListCtrlEx::OnCustomDraw(NMHDR* pNMHDR, LRESULT* pResult)
    {
    NMLVCUSTOMDRAW* pLVCD = reinterpret_cast<NMLVCUSTOMDRAW*>(pNMHDR); *pResult = CDRF_DODEFAULT; if (pLVCD->nmcd.dwDrawStage == CDDS_PREPAINT)
    {
    *pResult = CDRF_NOTIFYITEMDRAW;
    }
    else if (pLVCD->nmcd.dwDrawStage == CDDS_ITEMPREPAINT)
    {
    *pResult = CDRF_NOTIFYSUBITEMDRAW;
    }
    else if (pLVCD->nmcd.dwDrawStage == (CDDS_ITEMPREPAINT | CDDS_SUBITEM) )
    {
    int nItem = static_cast<int> (pLVCD->nmcd.dwItemSpec);
    int nSubItem = pLVCD->iSubItem;                  // you code.........
    *pResult = CDRF_NEWFONT;
    }
    }