MFC 改变某个单元格的字体颜色和背景色(转)
Published on 2022-05-18 09:11 in 暂未分类 with 萧海~

MFC 改变某个单元格的字体颜色和背景色(转)

    原文:https://blog.csdn.net/myruo/article/details/83856211
    场景:

    需要不同的颜色来区分其他数据

    操作步骤:

    添加 NM_CUSTOMDRAW 消息响应事件,或者手动添加

    实现代码如下:

    NMLVCUSTOMDRAW* pLVCD = reinterpret_cast<NMLVCUSTOMDRAW*>(pNMHDR);
    if (CDDS_PREPAINT == pLVCD->nmcd.dwDrawStage)
    {
    *pResult = CDRF_NOTIFYITEMDRAW;
    }
    else if (CDDS_ITEMPREPAINT == pLVCD->nmcd.dwDrawStage)
    {
    *pResult = CDRF_NOTIFYSUBITEMDRAW;
    }
    else if ((CDDS_ITEMPREPAINT | CDDS_SUBITEM) == pLVCD->nmcd.dwDrawStage)
    {
    int nItem = static_cast<int>(pLVCD->nmcd.dwItemSpec);
    CString strLoad;
    switch (pLVCD->iSubItem)
    {
    case 2:
    break;
    case 5:
    {
    COLORREF clrNewTextColor, clrNewBkColor;
    strLoad = m_list1.GetItemText(nItem, pLVCD->iSubItem);
    if (!strLoad.Compare(_T("成功")))
    {
    clrNewTextColor = RGB(0, 255, 0);
    }
    else
    {
    clrNewTextColor = RGB(255, 0, 0);
    }
    clrNewBkColor = RGB(255, 255, 255);
    pLVCD->clrText = clrNewTextColor;
    pLVCD->clrTextBk = clrNewBkColor;
    *pResult = CDRF_DODEFAULT;
    break;
    }
    default:
    pLVCD->clrText = RGB(0, 0, 0);
    pLVCD->clrTextBk = RGB(255, 255, 255);
    *pResult = CDRF_DODEFAULT;
    break;
    }
    }

    在这里插入图片描述

    posted @   萧海~  阅读(337)  评论(0编辑  收藏  举报
    相关博文:
    阅读排行:
    · Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
    · 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
    · 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
    · 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
    · 【自荐】一款简洁、开源的在线白板工具 Drawnix
    历史上的今天:
    2021-05-18 Qt Creator构建HelloWorld出现Qt\Tools\QtCreator\bin\jom.exe"退出,退出代码 2 错误解决
    2021-05-18 TensorFlow 线性回归
    2021-05-18 开源下载地址
    点击右上角即可分享
    微信分享提示
    电磁波切换