C++-MFC Office风格的界面,ListCtrl点击选中后高亮

4 篇文章 0 订阅
一个函数就可以搞定:
void CListCtrlView::OnCustomdrawList( NMHDR *pNMHDR, LRESULT *pResult )
{
	NMLVCUSTOMDRAW* pLVCD = reinterpret_cast<NMLVCUSTOMDRAW*>( pNMHDR );
	*pResult = CDRF_DODEFAULT;
 
	if ( CDDS_PREPAINT == pLVCD->nmcd.dwDrawStage )
	{
		*pResult = CDRF_NOTIFYITEMDRAW;
	}
	else if ( CDDS_ITEMPREPAINT == pLVCD->nmcd.dwDrawStage )
	{    
		//当前选中的item  
		int nItem=(pLVCD->nmcd.dwItemSpec);
		COLORREF crText,crBk;
		//若选中
		if(m_listCtrl->GetCheck(nItem) == 1)
		{
			crText = RGB(0,0,0);//RGB(32,32,255);
			crBk =RGB(153,204,255);
		}
	//若取消选中
		else{
			crText = RGB(0,0,0);
			crBk = RGB(240,247,249);
		}
		pLVCD->clrText = crText;
		pLVCD->clrTextBk = crBk;
		*pResult = CDRF_NEWFONT;
	}    
}
只需要改红色部分(文件名),声明一下。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值