请教大家怎么在ListControl里增加自绘属性以响应NM_CUSTOMDRAW????
用ClassWizard行吗 还是要手工添加的?

解决方案 »

  1.   

    声明:
    public:
    afx_msg void OnNMCustomdraw(NMHDR *pNMHDR, LRESULT *pResult);
    ................
    BEGIN_MESSAGE_MAP(CMyList, CListCtrl)
    ON_NOTIFY_REFLECT(NM_CUSTOMDRAW, OnNMCustomdraw)
    END_MESSAGE_MAP()void CMyList::OnNMCustomdraw(NMHDR *pNMHDR, LRESULT *pResult)
    {
    // TODO: Add your control notification handler code here
    *pResult = CDRF_DODEFAULT;
    NMLVCUSTOMDRAW * lplvdr=(NMLVCUSTOMDRAW*)pNMHDR;
    NMCUSTOMDRAW &nmcd = lplvdr->nmcd;

    switch(lplvdr->nmcd.dwDrawStage)
    {
    case CDDS_PREPAINT:

    *pResult = CDRF_NOTIFYITEMDRAW;
    break;

    case CDDS_ITEMPREPAINT:
    {
    //自定义代码
    *pResult = CDRF_DODEFAULT;
    }
    break;
    }}