LineThiknessCombo.cpp
Upload User: kairuinn
Upload Date: 2009-02-07
Package Size: 2922k
Code Size: 2k
Category:

Graph program

Development Platform:

Visual C++

  1. #include "stdafx.h"
  2. #include "LineThiknessCombo.h"
  3. #include ".linethiknesscombo.h"
  4. #ifdef _DEBUG
  5. #define new DEBUG_NEW
  6. #undef THIS_FILE
  7. static char THIS_FILE[] = __FILE__;
  8. #endif
  9. CLineThiknessCombo::CLineThiknessCombo():
  10.   CComboBox()
  11. {
  12. }
  13. void CLineThiknessCombo::MeasureItem(LPMEASUREITEMSTRUCT lpMIS)
  14.   //lpMIS->itemWidth = 100;//(m_nItemWidth + 2);
  15.   //lpMIS->itemHeight = 20;//(m_nItemHeight + 2);
  16. }
  17. void CLineThiknessCombo::DrawItem(LPDRAWITEMSTRUCT lpDIS)
  18. {
  19.   CDC* pDC = CDC::FromHandle(lpDIS->hDC);
  20.   COLORREF crNormal = GetSysColor( COLOR_WINDOW );
  21.  
  22.   pDC->SetBkColor( crNormal ); // Set BG To Highlight Color
  23.   pDC->FillSolidRect( &lpDIS->rcItem, crNormal ); // Erase Item
  24.   
  25.   if( lpDIS -> itemState & ODS_FOCUS ) // If Item Has The Focus
  26.   {
  27.   pDC->DrawFocusRect( &lpDIS->rcItem ); // Draw Focus Rect
  28.   }
  29.   
  30.     CPen penHighlight(PS_SOLID, lpDIS->itemID+1, RGB(0,0,0));
  31.     CPen* pOldPen = pDC->SelectObject(&penHighlight);
  32.     pDC->MoveTo(lpDIS->rcItem.left,
  33. lpDIS->rcItem.top+(lpDIS->rcItem.bottom-lpDIS->rcItem.top)/2);//lpDIS->rcItem.bottom/2);
  34. pDC->LineTo(lpDIS->rcItem.right,
  35. lpDIS->rcItem.top+(lpDIS->rcItem.bottom-lpDIS->rcItem.top)/2);//2);
  36.   
  37.     pDC->SelectObject(pOldPen);
  38.  
  39. }
  40. //----------------------------------------------------------------------------
  41. #ifdef _DEBUG
  42. void CLineThiknessCombo::PreSubclassWindow() 
  43. {
  44.   CComboBox::PreSubclassWindow();
  45.   ASSERT(GetStyle() & CBS_DROPDOWNLIST);
  46.   ASSERT(GetStyle() & CBS_OWNERDRAWFIXED);
  47. }
  48. #endif
  49. //----------------------------------------------------------------------------
  50. BEGIN_MESSAGE_MAP(CLineThiknessCombo, CComboBox)
  51. ON_WM_CREATE()
  52. END_MESSAGE_MAP()
  53. int CLineThiknessCombo::OnCreate(LPCREATESTRUCT lpCreateStruct)
  54. {
  55. if (CComboBox::OnCreate(lpCreateStruct) == -1)
  56. return -1;
  57. AddString(" sd");
  58. AddString(" sd");
  59. AddString(" sd");
  60. AddString(" sd");
  61. AddString(" sd");
  62. return 0;
  63. }