// cbtest.cpp : 实现文件 // #include "stdafx.h" #include "cbtest.h" // Ccbtest IMPLEMENT_DYNAMIC(Ccbtest, CComboBox) Ccbtest::Ccbtest() { } Ccbtest::~Ccbtest() { } BEGIN_MESSAGE_MAP(Ccbtest, CComboBox) END_MESSAGE_MAP() // Ccbtest 消息处理程序 void Ccbtest::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct ) { LPCTSTR lpszText = (LPCTSTR)lpDrawItemStruct->itemData; CDC dc; dc.Attach(lpDrawItemStruct->hDC); if( (lpDrawItemStruct->itemAction | ODA_SELECT) && (lpDrawItemStruct->itemState & ODS_SELECTED) ) { dc.SetTextColor(RGB(111,111,111)); dc.SetBkMode(TRANSPARENT); // dc.FillSolidRect(&lpDrawItemStruct->rcItem, RGB(0,111,0)); } else { dc.SetTextColor(RGB(0,0,0)); dc.SetBkMode(TRANSPARENT); // dc.FillSolidRect(&lpDrawItemStruct->rcItem, RGB(111,111,111)); } if( lpszText != NULL ) dc.DrawText(lpszText, lstrlen(lpszText), &lpDrawItemStruct->rcItem, DT_CENTER|DT_SINGLELINE|DT_VCENTER); dc.Detach(); }