//listControl表格不同行不同颜色
在NMCustomdraw事件里添加代码 void CWXPDatabaseDlg::OnNMCustomdrawMylist(NMHDR *pNMHDR, LRESULT *pResult) { *pResult = 0; NMLVCUSTOMDRAW* pNMCD = (NMLVCUSTOMDRAW*)(pNMHDR); if(CDDS_PREPAINT == pNMCD->nmcd.dwDrawStage) { *pResult = CDRF_NOTIFYITEMDRAW; } else if (CDDS_ITEMPREPAINT == pNMCD->nmcd.dwDrawStage) { *pResult = CDRF_NOTIFYSUBITEMDRAW; } else if((CDDS_ITEMPREPAINT|CDDS_SUBITEM)==pNMCD->nmcd.dwDrawStage) { COLORREF clrNewTextColor, clrNewBkColor; int nItem = static_cast<int>(pNMCD->nmcd.dwItemSpec); if(nItem %2) { clrNewTextColor = RGB(0,0,0); clrNewBkColor = RGB(204,255,255); } else { clrNewTextColor = RGB(0,0,0); clrNewBkColor = RGB(255,255,255); } pNMCD->clrText = clrNewTextColor; pNMCD->clrTextBk = clrNewBkColor; *pResult = CDRF_DODEFAULT ; } }
//设置列样式
void CWXPDatabaseDlg::AddListControlColumn() { int width=120; m_ListControl.SetExtendedStyle( LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES); // m_ListControl.InsertColumn(0, " 序号 ",LVCFMT_CENTER,80); m_ListControl.InsertColumn(1, "端塞编号",LVCFMT_LEFT,width); m_ListControl.InsertColumn(2, "检测标准",LVCFMT_LEFT,width); // m_ListControl.InsertColumn(3, "图片路径",LVCFMT_CENTER,250+width); m_ListControl.InsertColumn(3, "图片路径",LVCFMT_LEFT,0); m_ListControl.InsertColumn(4, "检测结果",LVCFMT_LEFT,width); m_ListControl.InsertColumn(5, "检测时间",LVCFMT_CENTER,width+40); CImageList m_l; m_l.Create(1,28,TRUE|ILC_COLOR32,1,0); //28是行高 m_ListControl.SetImageList(&m_l,LVSIL_SMALL); //CFont font; //字体及其大小 // font.CreatePointFont(150,_T("楷体")); // m_ListControl.SetFont(&font); //m_ListControl.SetBkColor(RGB(160,180,220)); //m_ListControl.SetTextBkColor(RGB(0,0,255)); //m_ListControl.SetTextColor(RGB(0,0,255)); }
