Visual c++ CustomDraw仍处于预绘制阶段

Visual c++ CustomDraw仍处于预绘制阶段,visual-c++,mfc,64-bit,custom-draw,Visual C++,Mfc,64 Bit,Custom Draw,在64位机器上处理NM_CUSTOMDRAW消息时,我遇到了一些问题。我们有一个CListCtrl派生类,它有一个CHeaderCtrl派生头(通过PreSubclassWindow链接) 在CHeader派生类中,我们进行一些自定义绘制。这适用于32位构建。但当我构建64位变体时,drawstage仍然是CDDS_PREPAINT 所以我在这里发帖是想在这个问题上得到一些帮助。我尝试了很多结果值的组合,OnCustomDraw中的drawstage处理。。。但是,他们所有人仍然只收到CDDS_

在64位机器上处理NM_CUSTOMDRAW消息时,我遇到了一些问题。我们有一个CListCtrl派生类,它有一个CHeaderCtrl派生头(通过PreSubclassWindow链接)

在CHeader派生类中,我们进行一些自定义绘制。这适用于32位构建。但当我构建64位变体时,drawstage仍然是CDDS_PREPAINT

所以我在这里发帖是想在这个问题上得到一些帮助。我尝试了很多结果值的组合,OnCustomDraw中的drawstage处理。。。但是,他们所有人仍然只收到CDDS_PREPAINT drawstage

这里是我当前的OnCustomDraw测试代码:

void CListViewCtrlExHeader::OnCustomDraw(NMHDR* pNMHDR, LRESULT* pResult)
{
    LPNMCUSTOMDRAW  lpnmcd = (LPNMCUSTOMDRAW )pNMHDR; 
    *pResult = CDRF_DODEFAULT; 
    if (lpnmcd) 
    { 
        switch (lpnmcd->dwDrawStage) 
        { 
            case CDDS_PREERASE: 
            { 
                    TRACE(_T("CDDS_PREERASE\n")); 
                    *pResult |= CDRF_NOTIFYPOSTERASE; 
            break; 
            } 
            case CDDS_POSTERASE: 
            { 
                    TRACE(_T("CDDS_POSTERASE\n")); 
            break; 
            } 
            case CDDS_PREPAINT: 
            { 
                    TRACE(_T("CDDS_PREPAINT\n")); 
                    *pResult |= CDRF_NOTIFYPOSTPAINT; 
            break; 
            } 
            case CDDS_POSTPAINT: 
            { 
                    TRACE(_T("CDDS_POSTPAINT\n"));
                    break; 
            } 
            default: 
            { 
                    TRACE(_T("CDDS_OTHER\n")); 
                    break; 
            } 
        } 
    } 
}
此标头ctrl的唯一用途是在默认绘制上方绘制,因此其中没有太多代码。CListCtrl派生类的绘制没有做任何特殊的事情,它让CListCtrl处理OnPaint消息。CListCtrl派生类不包含OnCustomDraw节。但由于它在32位上工作,我怀疑应该在那里搜索问题,另一方面我提到它,因为我没有选择

我发现了一些有类似问题的帖子(只剩下64位或drawstage),但没有一篇适合我。其中一个解决方案是NMCUSTOMDRAW结构的定义不正确,但我的是MFC版本,没有发现64位的投诉。另一个原因是,由于组件放置的位置,结果没有得到处理,但它也不应该在32位上工作。其他解决方案专门用于处理OnCustomDraw消息和结果,但这似乎适合我的测试代码

亲切问候,

凯文