cbtest.cpp 950 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. // cbtest.cpp : ĘľĎÖÎÄźţ
  2. //
  3. #include "stdafx.h"
  4. #include "cbtest.h"
  5. // Ccbtest
  6. IMPLEMENT_DYNAMIC(Ccbtest, CComboBox)
  7. Ccbtest::Ccbtest()
  8. {
  9. }
  10. Ccbtest::~Ccbtest()
  11. {
  12. }
  13. BEGIN_MESSAGE_MAP(Ccbtest, CComboBox)
  14. END_MESSAGE_MAP()
  15. // Ccbtest ĎűϢ´ŚŔíłĚĐň
  16. void Ccbtest::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct )
  17. {
  18. LPCTSTR lpszText = (LPCTSTR)lpDrawItemStruct->itemData;
  19. CDC dc;
  20. dc.Attach(lpDrawItemStruct->hDC);
  21. if( (lpDrawItemStruct->itemAction | ODA_SELECT) &&
  22. (lpDrawItemStruct->itemState & ODS_SELECTED) )
  23. {
  24. dc.SetTextColor(RGB(111,111,111));
  25. dc.SetBkMode(TRANSPARENT);
  26. // dc.FillSolidRect(&lpDrawItemStruct->rcItem, RGB(0,111,0));
  27. }
  28. else
  29. {
  30. dc.SetTextColor(RGB(0,0,0));
  31. dc.SetBkMode(TRANSPARENT);
  32. // dc.FillSolidRect(&lpDrawItemStruct->rcItem, RGB(111,111,111));
  33. }
  34. if( lpszText != NULL )
  35. dc.DrawText(lpszText, lstrlen(lpszText), &lpDrawItemStruct->rcItem, DT_CENTER|DT_SINGLELINE|DT_VCENTER);
  36. dc.Detach();
  37. }