LineChartCtrl.h
上传用户:hnxinke
上传日期:2013-04-11
资源大小:94k
文件大小:2k
源码类别:

绘图程序

开发平台:

Visual C++

  1. // LineChartCtrl.h : header file
  2. //
  3. // Written by Yuheng Zhao (yuheng@ministars.com) 
  4. // http://www.ministars.com
  5. // The original idea and part of the code from Ken C. Len's CHistogramCtrl
  6. // http://www.codeguru.com/controls/histogram_control.shtml
  7. //
  8. // Copyright (c) 1998.
  9. //
  10. // This code may be used in compiled form in any way you desire. This
  11. // file may be redistributed unmodified by any means PROVIDING it is 
  12. // not sold for profit without the authors written consent, and 
  13. // providing that this notice and the authors name is included. If 
  14. // the source code in  this file is used in any commercial application 
  15. // then a simple email would be nice.
  16. //
  17. // This file is provided "as is" with no expressed or implied warranty.
  18. // The author accepts no liability if it causes any damage whatsoever.
  19. // It's free - so you get what you pay for.
  20. //
  21. #ifndef __LINECHARTCTRL_H__
  22. #define __LINECHARTCTRL_H__
  23. #include <afxtempl.h>
  24. class CLineChartItem:public CObject
  25. {
  26. public:
  27. CLineChartItem() {;}
  28. COLORREF m_colorLine;
  29. UINT     m_nLower; // lower bounds
  30. UINT     m_nUpper; // upper bounds
  31. UINT     m_nPos; // current position within bounds
  32. UINT     m_nOldPos; // last position within bounds
  33. };
  34. typedef CTypedPtrArray <CObArray, CLineChartItem*> CItemArray;
  35. /////////////////////////////////////////////////////////////////////////////
  36. // CLineChartCtrl window
  37. class CLineChartCtrl : public CWnd
  38. {
  39. // Construction
  40. public:
  41. static BOOL RegisterWndClass(HINSTANCE hInstance);
  42. CLineChartCtrl();
  43. UINT m_nVertical;
  44. // Attributes
  45. public:
  46. CItemArray m_items;
  47. UINT SetPos(int nIndex, UINT nPos);
  48. void InvalidateCtrl();
  49. void DrawSpike();
  50. // Operations
  51. public:
  52. // Overrides
  53. // ClassWizard generated virtual function overrides
  54. //{{AFX_VIRTUAL(CLineChartCtrl)
  55. public:
  56. //}}AFX_VIRTUAL
  57. // Implementation
  58. public:
  59. void Go();
  60. BOOL Add(COLORREF color, UINT Upper, UINT Lower );
  61. virtual ~CLineChartCtrl();
  62. // Generated message map functions
  63. protected:
  64. //{{AFX_MSG(CLineChartCtrl)
  65. afx_msg void OnPaint();
  66. //}}AFX_MSG
  67. DECLARE_MESSAGE_MAP()
  68. CDC      m_MemDC;
  69. CBitmap  m_Bitmap;
  70. };
  71. /////////////////////////////////////////////////////////////////////////////
  72. #endif