OnNMCustomdrawCheckmessage(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 )
{
*pResult = CDRF_NOTIFYSUBITEMDRAW;
}
else if((CDDS_ITEMPREPAINT|CDDS_SUBITEM) == pLVCD->nmcd.dwDrawStage)
{
COLORREF clrNewTextColor, clrNewBkColor;
int nItem = static_cast<int>( pLVCD->nmcd.dwItemSpec );
int nRow,nCol;//行 , 列
nCol=pLVCD->iSubItem;
int index = m_list.GetSelectionMark();
if(index == nItem && nCol == 0)//nCol 指定列,根据需要选择列
{
clrNewTextColor = RGB(255,0,0);
clrNewBkColor = RGB(255,255,255);
}
else
{
clrNewTextColor = RGB(0,0,0);
MFC List control 设置某行某列字体颜色及背景
最新推荐文章于 2023-02-13 17:55:13 发布
本文介绍了如何在MFC的List Control中设置特定行特定列的字体颜色和背景色。通过响应事件,添加代码段,并调用SetSelectionMark方法实现指定行的高亮显示。
摘要由CSDN通过智能技术生成