如何使CListCtrl控件中的不同行显示不同的颜色? 如何使CListCtrl控件中的不同行显示不同的颜色? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 自画CListCtrlvoid CCustomDrawDlg::OnCustomDrawList(NMHDR* pNMHDR,LRESULT* pResult){ //处理NM_CUSTOMDRAW消息 LPNMLVCUSTOMDRAW pDraw=(LPNMLVCUSTOMDRAW)pNMHDR; //为所有的绘图阶段申请通知 *pResult=CDRF_NOTIFYITEMDRAW|CDRF_NOTIFYPOSTPAINT|CDRF_NOTIFYPOSTERASE; //决定绘图阶段 DWORD dwDrawStage=pDraw->nmcd.dwDrawStage; if(dwDrawStage&CDDS_ITEM) { //绘图阶段适用于特定的项目,则前景色和背景色换成该项目的CHotel所指定的颜色 CHotel* pHotel=(CHotel*)pDraw->nmcd.lItemlParam; switch(pHotel->m_nColorOpt) { case 0: pDraw->clrTextBk=RGB(255,0,0); pDraw->clrText=RGB(0,0,0); break; case 1: pDraw->clrTextBk=RGB(0,255,0); pDraw->clrText=RGB(0,0,0); break; case 2: pDraw->clrTextBk=RGB(0,0,255); pDraw->clrText=RGB(255,255,255); break; } if((dwDrawStage&CDDS_SUBITEM)&&(pDraw->iSubItem==0))//画每行的第一个项目,用斜体字 { SelectObject(pDraw->nmcd.hdc,(HFONT)m_hItalicFont.m_hObject); *pResult|=CDRF_NEWFONT; } else if((dwDrawStage&CDDS_SUBITEM)&&(pDraw->iSubItem==1||pDraw->iSubItem==2))//普通字体 { SelectObject(pDraw->nmcd.hdc,(HFONT)m_hStdFont.m_hObject); *pResult|=CDRF_NEWFONT; } }}上面程序的功能是按照m_nColorOpt的选项分别为每行选择红、绿、蓝 请教UDP的问题.. 关于vfw视频捕获的问题请教~~ 我作了一个ACTIVEX ,MainDialog 是ACTIVEX要显示的界面,但为什么不显示呢? 经典问题 怎样得到TV卡上的Audio输出接口 VC++ 中如何将一个字符串分割为字符串数组 有没有快速格式化某一分区的函数? 一个不易发现的错误(就象 if (a = b) 一样隐藏),大家小心 有用过NI公司的PXI4070的高手吗? com 中的方法能不能返回long,char 等数据类型的\ SDK&FILE VIEW 如何传递二进制数据 ,比如传递一个结构指针到远端
void CCustomDrawDlg::OnCustomDrawList(NMHDR* pNMHDR,LRESULT* pResult)
{
//处理NM_CUSTOMDRAW消息
LPNMLVCUSTOMDRAW pDraw=(LPNMLVCUSTOMDRAW)pNMHDR;
//为所有的绘图阶段申请通知
*pResult=CDRF_NOTIFYITEMDRAW|CDRF_NOTIFYPOSTPAINT|CDRF_NOTIFYPOSTERASE;
//决定绘图阶段
DWORD dwDrawStage=pDraw->nmcd.dwDrawStage;
if(dwDrawStage&CDDS_ITEM)
{
//绘图阶段适用于特定的项目,则前景色和背景色换成该项目的CHotel所指定的颜色
CHotel* pHotel=(CHotel*)pDraw->nmcd.lItemlParam;
switch(pHotel->m_nColorOpt)
{
case 0:
pDraw->clrTextBk=RGB(255,0,0);
pDraw->clrText=RGB(0,0,0);
break; case 1:
pDraw->clrTextBk=RGB(0,255,0);
pDraw->clrText=RGB(0,0,0);
break; case 2:
pDraw->clrTextBk=RGB(0,0,255);
pDraw->clrText=RGB(255,255,255);
break;
} if((dwDrawStage&CDDS_SUBITEM)&&(pDraw->iSubItem==0))//画每行的第一个项目,用斜体字
{
SelectObject(pDraw->nmcd.hdc,(HFONT)m_hItalicFont.m_hObject);
*pResult|=CDRF_NEWFONT;
}
else if((dwDrawStage&CDDS_SUBITEM)&&(pDraw->iSubItem==1||pDraw->iSubItem==2))//普通字体
{
SelectObject(pDraw->nmcd.hdc,(HFONT)m_hStdFont.m_hObject);
*pResult|=CDRF_NEWFONT;
}
}
}
上面程序的功能是按照m_nColorOpt的选项分别为每行选择红、绿、蓝