LineComboBox.h
上传用户:lj3531212
上传日期:2007-06-18
资源大小:346k
文件大小:2k
源码类别:

绘图程序

开发平台:

Visual C++

  1. //////////////////////////////////////////////////////////////////////
  2. // CLASS    :  CLineComboBox
  3. // ABSTRACT :  线条宽度选择组合框
  4. // NOTE     :  主要是用在图形的属性设置时的笔宽设置
  5. //          :  
  6. // CREATE   :  FNST)handwolf  2004-4-21
  7. // UPDATE   :  
  8. //          : 
  9. //////////////////////////////////////////////////////////////////////
  10. #ifndef XGL_GRAPGSOFT_LINECOMBOX_HEADER_FILE_2004_4_21
  11. #define XGL_GRAPGSOFT_LINECOMBOX_HEADER_FILE_2004_4_21
  12. #include "afxtempl.h"
  13. typedef struct BSCBITEM
  14. {
  15. int iIndex;
  16. int         nLineWidth;
  17. CString lpCaption;
  18. }BSCBITEM, *LPBSCBITEM;
  19. class CLineComboBox : public CComboBox
  20. {
  21. DECLARE_DYNCREATE(CLineComboBox)
  22. public:
  23. CLineComboBox();
  24. virtual ~CLineComboBox();
  25. //
  26. BOOL Create(DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID);
  27. public:
  28. //{{AFX_VIRTUAL(CLineComboBox)
  29. public:
  30. virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);
  31. virtual void MeasureItem(LPMEASUREITEMSTRUCT lpMeasureItemStruct);
  32. //}}AFX_VIRTUAL
  33. //Operation
  34. public:
  35.     LPBSCBITEM GetItem(int iIndex = 0);
  36. int GetCurLineWidth();
  37. void OnCBPaint(CDC* pDC);
  38. void Init();
  39. protected:
  40. int m_nLineLength;
  41. int m_nItemHeight;
  42. int m_nMargin;
  43. int m_nMouseState;
  44. CList<LPBSCBITEM, LPBSCBITEM> m_LineWidthList;
  45. protected:
  46. //{{AFX_MSG(CLineComboBox)
  47. afx_msg BOOL OnEraseBkgnd(CDC* pDC);
  48. afx_msg void OnPaint();
  49. afx_msg void OnMouseMove(UINT nFlags, CPoint point);
  50. //}}AFX_MSG
  51. DECLARE_MESSAGE_MAP()
  52. };
  53. #endif // XGL_GRAPGSOFT_LINECOMBOX_HEADER_FILE_2004_4_21