www.gusucode.com > 一个VC++ GUI测试程序-源码程序 > 一个VC++ GUI测试程序-源码程序/code/MyList.cpp

    //Download by http://www.NewXing.com
  // MyList.cpp : implementation file
//

#include "stdafx.h"
#include "MyList.h"
#include "GUITest.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CMyList

CMyList::CMyList()
{
}

CMyList::~CMyList()
{
}


BEGIN_MESSAGE_MAP(CMyList, CListCtrl)
	//{{AFX_MSG_MAP(CMyList)
	ON_NOTIFY_REFLECT(NM_CUSTOMDRAW, OnCustomDraw) 
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CMyList message handlers

void CMyList::OnCustomDraw(NMHDR *pNMHDR, LRESULT *pResult)
{
	//类型安全转换
	NMLVCUSTOMDRAW* pLVCD = reinterpret_cast<NMLVCUSTOMDRAW*>(pNMHDR);
	*pResult = 0;
	
	//指定列表项绘制前后发送消息
	if(CDDS_PREPAINT == pLVCD->nmcd.dwDrawStage)
	{
		*pResult = CDRF_NOTIFYITEMDRAW;
	}
	else if(CDDS_ITEMPREPAINT == pLVCD->nmcd.dwDrawStage)
	{
		//奇数行
		if(pLVCD->nmcd.dwItemSpec % 2)
//			pLVCD->clrTextBk = RGB(255, 255, 128);
			pLVCD->clrText = RGB(0, 0, 255);
		//偶数行
		else
			pLVCD->clrText = RGB(255, 0, 0);
//		//继续
		*pResult = CDRF_DODEFAULT;
	}
}