重写事件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();
}