List Control将找到的内容列着色


添加ListCtrl的CustomDraw事件。

NMLVCUSTOMDRAW* pLVCD = reinterpret_cast<NMLVCUSTOMDRAW*>( pNMHDR );


    // Take the default processing unless we set this to something else below.
    *pResult = CDRF_DODEFAULT;



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 )
{

COLORREF clrNewTextColor, clrNewBkColor;
        
int    nItem = static_cast<int>( pLVCD->nmcd.dwItemSpec );


CString strTemp = m_ctListCtrl.GetItemText(nItem,pLVCD->iSubItem);  // 查找内容


if(strTemp == m_strName)  // 找到内容
{
clrNewTextColor = RGB(255,0,0); // 字体颜色
clrNewBkColor = RGB(255,255,0); // 背景色
}
else
{

clrNewTextColor = RGB(0,0,0);
clrNewBkColor = RGB(255,255,255);
}


pLVCD->clrText = clrNewTextColor;
pLVCD->clrTextBk = clrNewBkColor;

        
        // Tell Windows to paint the control itself.
        *pResult = CDRF_DODEFAULT;
        
        
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值