Visual Studio
一系列 Microsoft 集成开发工具套件,用于生成适用于 Windows、Web 和移动设备的应用程序。
107 个问题
这段代码消息没响应,函数不执行,怎么让消息映射,函数执行
ON_NOTIFY(NM_CUSTOMDRAW,IDC_MYLISTBOX, &CMainWindow::OnCustomDraw)
afx_msg void OnCustomDraw(NMHDR* pNMHDR, LRESULT* pResult);
void CMainWindow::OnCustomDraw(NMHDR* pNMHDR, LRESULT* pResult)
{
NMCUSTOMDRAW* pcd = (NMCUSTOMDRAW*)pNMHDR;
switch (pcd->dwDrawStage)
{
FillRect(pcd->hdc, &pcd->rc, m_myCustomBrush);
*pResult = CDRF_SKIPDEFAULT;
return;
}
*pResult = CDRF_DODEFAULT;
}
您好,
上面的代码switch语法有错误。
OnCustomdraw(NMHDR* pNMHDR, LRESULT* pResult)
{
LPNMLVCUSTOMDRAW pNMLVCD = reinterpret_cast<LPNMLVCUSTOMDRAW>(pNMHDR);
*pResult = CDRF_DODEFAULT;
switch (pNMLVCD->nmcd.dwDrawStage)
{
case CDDS_PREPAINT:
*pResult = CDRF_NOTIFYITEMDRAW;
break;
case CDDS_ITEMPREPAINT:
{
pNMLVCD->clrTextBk = RGB(200, 200, 255);
pNMLVCD->clrText = RGB(0, 0, 200);
*pResult = CDRF_NOTIFYSUBITEMDRAW;
}
break;
case CDDS_ITEMPREPAINT | CDDS_SUBITEM:
{
pNMLVCD->clrTextBk = RGB(200, 200,255);
pNMLVCD->clrText = RGB(0, 0, 200);
}
break;
}
}
如果答案是正确的,请点击“接受答案”并点赞。 如果您对此答案还有其他疑问,请点击“评论”。 注意:如果您想接收相关电子邮件,请按照我们的文档中的步骤启用电子邮件通知 此线程的通知。