如何改变ListCtrl内单行字的颜色,急啊!!!
解决方案 »
- 关于编辑框换行输入的问题
- 如何写一个固定时间长度(如10秒)的代码?
- 问一个常规的关于函数的问题!
- 请问如何在对话框中画图啊,用什么控件比较好,特别是有坐标系的函数图?
- 关于鼠标的问题
- 高手救命:建立一个非模式对话框,当对话框不为当前窗口时让它自行销毁。然后按一下自己设定的某个按键,重新建立一个窗口,结果出错。示
- 请MFC高手指点,为什么我的ON_NOTIFY_EX事件捕获不到?
- 如何在VC中对access中的数据按时间进行读取?
- 一个ListView的问题,我都快被折磨死了,我也一定给分
- 这个c语言的宏生成代码该怎么写?
- 大虾指教:LNK2005重定义错误
- 请问sFileData.SpanExcluding("\r\n")是何意思?
{
// TODO: Add your specialized code here and/or call the base class
NMHDR *p=(NMHDR*)lParam;
if(p->code==NM_CUSTOMDRAW && p->idFrom==IDC_LIST1)
{
NMLVCUSTOMDRAW *lvcd=(NMLVCUSTOMDRAW*)p;
NMCUSTOMDRAW &nmcd=lvcd->nmcd;
switch(nmcd.dwDrawStage)
{
case CDDS_PREPAINT:
*pResult=CDRF_NOTIFYITEMDRAW;
break;
case CDDS_ITEMPREPAINT:
{
int iRow=(int)nmcd.dwItemSpec;
if(iRow % 2)
lvcd->clrTextBk=RGB(255,255,255);
else
lvcd->clrTextBk=RGB(200,200,200);
*pResult=CDRF_DODEFAULT;
break;
}
default:
*pResult=CDRF_DODEFAULT;
break;
}
return TRUE;
}
return CDialog::OnNotify(wParam, lParam, pResult);
}希望对你有帮助
{
NMLVCUSTOMDRAW* pLVCD=(NMLVCUSTOMDRAW*)pNMHDR;
*pResult=0;
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 crText;
PCASEITEM pItem=(PCASEITEM)m_lstctlTable.GetItemData(pLVCD->nmcd.dwItemSpec); if (pItem->bDeleted)
{
if (3==pLVCD->iSubItem)
{
crText=RGB(250, 0, 0);
}
else
{
crText=RGB(0, 0, 0);
}
}
else
{
crText=RGB(0, 0, 0);
}
pLVCD->clrText=crText;
pLVCD->clrTextBk=(pLVCD->nmcd.dwItemSpec%2) ? RGB(235,235,235):RGB(255,255,255); *pResult = CDRF_DODEFAULT;
}
}
去看看,里面有。
{
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 );
if( (1 == pLVCD->iSubItem))
{
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;
*pResult = CDRF_DODEFAULT;
}
}
SetTextColor();
SetTextBkColor();