0
点赞
收藏
分享

微信扫一扫

MFC设置listcontrol单元格颜色

腾讯优测 2022-06-13 阅读 85

重写事件OnNMCustomdrawList1

void CBomDlg::OnNMCustomdrawList1(NMHDR* pNMHDR, LRESULT* pResult)
{

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

int n = m_listControl.GetItemCount();//获取list里面有多少行

CString s1;
s1 = m_listControl.GetItemText(n-1, 7);

if (pLVCD->iSubItem == 7)//这里是选择每一行的第一列
{
try
{
if (_ttof(s1) > 0)
{
COLORREF clrNewTextColor, clrNewBkColor;
clrNewBkColor = RGB(255, 0, 0);
pLVCD->clrTextBk = clrNewBkColor;
*pResult = CDRF_DODEFAULT;
}
}
catch (...)
{

}
}

//CString s1;
//for (int i=0;i<n;i++)
//{
// s1 = m_listControl.GetItemText(i, 7);
//
// if (pLVCD->iSubItem == 7)//这里是选择每一行的第一列
// {
// try
// {
// if (_ttof(s1) > 0)
// {
// COLORREF clrNewTextColor, clrNewBkColor;
// clrNewBkColor = RGB(255, 0, 0);
// pLVCD->clrTextBk = clrNewBkColor;
// *pResult = CDRF_DODEFAULT;
// }
// }
// catch (...)
// {

// }
//
//
// }
//
//}

//for (int i = 0; i <= nItem; i++)
//{
// string ItemText = m_listControl.GetItemText(i, 1).GetBuffer(0);
// if (pLVCD->iSubItem == 7)//这里是选择每一行的第一列
// {

// CString s1=m_listControl.GetItemText(i, 7);
// cout << "++++"<<s1.GetBuffer() << endl;

// COLORREF clrNewTextColor, clrNewBkColor;
// clrNewBkColor = RGB(0, 255, 0);
// pLVCD->clrTextBk = clrNewBkColor;
// *pResult = CDRF_DODEFAULT;
// }
// else
// {
// //pLVCD->clrText = RGB(0, 0, 0);
// pLVCD->clrTextBk = RGB(255, 255, 255);
// *pResult = CDRF_DODEFAULT;
// break;
// }
//}
}
UpdateWindow();
}


举报

相关推荐

0 条评论