vc CListCtr控件设置指定行字体颜色,背景颜色

本文介绍了如何使用CListCtrl控件在MFC中设置指定行的字体颜色和背景颜色。通过添加NM_CUSTOMDRAW消息并实现相应处理函数,可以方便地定制控件的显示样式。
摘要由CSDN通过智能技术生成

一开始以为CListBox和CListCtr是差不多的,用CListBox手动添加NM_CUSTOMDRAW消息后,一直不响应,不知道是什么原因,只能改用CListCtr,CListCtr可以通过类向导添加NM_CUSTOMDRAW,就比较方便了.

先定义一个宏#define LRED 1

绑定CListCtr控件变量m_list

通过类向导添加NM_CUSTOMDRAW后,在消息映射函数中添加代码.

void dlg::OnCustomdrawList3(NMHDR *pNMHDR,LRESULT *pResult)
{
    LPNMTVCUSTOMDRAW pNMCD = reinterpret_cast<LPNMTVCUSTOMDRAW>(pNMHDR);
    *pResult = CDR_DODEFAULT;
    NMLVCUSTOMDRAW *pLVCD = reinterpret_cast<NMLVCUSTOMDRAW*>(pNMHDR);
    if(CDDS_PREPAINT == pLVCD->nmcd.dwDrawStage)
    {
        *pResult = CDRF_NOTIFYITEMDRAW;
    }
    else if(CDDS_ITEMPREPAINT | CDDS_SUBITEM==pLVCD->nmcd.dwDrawStage)
    {
        if(LRED == pLVCD->nmcd.lItemlParam)
        {
            pNMCD->clrTextBk = RGB(255,0,0);
            pNMCD->clrText   = RGB(255,0,0);
        }
        
    }
}

要设置指定行样式,就要调用m_list.SetItemData(0,LRED);0表示第0行,LRED是定义的宏&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值