ANALOGMETER.H
上传用户:shgx688
上传日期:2009-12-27
资源大小:855k
文件大小:3k
源码类别:

SNMP编程

开发平台:

MultiPlatform

  1. #if !defined(AFX_ANALOGMETER_H__7B6C2C14_9681_11D2_9136_0020AF9FE21E__INCLUDED_)
  2. #define AFX_ANALOGMETER_H__7B6C2C14_9681_11D2_9136_0020AF9FE21E__INCLUDED_
  3. #if _MSC_VER >= 1000
  4. #pragma once
  5. #endif // _MSC_VER >= 1000
  6. // AnalogMeter.h : header file
  7. //
  8. /////////////////////////////////////////////////////////////////////////////
  9. // CAnalogMeter command target
  10. class CAnalogMeter : public CCmdTarget
  11. {
  12. DECLARE_DYNCREATE(CAnalogMeter)
  13. CAnalogMeter() ;
  14. virtual ~CAnalogMeter();
  15. // Attributes
  16. public:
  17. COLORREF m_colorGrid;
  18. COLORREF m_colorNeedle;
  19. COLORREF m_colorValue;
  20. // Operations
  21. public:
  22. void ShowMeter(CDC *pDC, CRect rectBorder);
  23. void UpdateNeedle(CDC *pDC, double dPos);
  24. void SetRange (double dMin, double dMax);
  25. void SetRangeDecimals(int nRangeDecimals);
  26. void SetValueDecimals(int nValueDecimals);
  27. void SetTitle(CString strTitle);
  28. double GetMaxRange()   {return m_dMaxScale; } ;
  29. double GetMinRange()   {return m_dMinScale; } ;
  30. int GetRangeDecimals() {return m_nRangeDecimals; } ;
  31. int GetValueDecimals() {return m_nValueDecimals; } ;
  32. CString GetTitle()     {return m_strTitle; } ;
  33. // Overrides
  34. // ClassWizard generated virtual function overrides
  35. //{{AFX_VIRTUAL(CAnalogMeter)
  36. //}}AFX_VIRTUAL
  37. // Implementation
  38. protected:
  39. void DrawGrid ();
  40. void DrawNeedle();
  41. void ShowMeterImage(CDC *pDC);
  42. bool m_boolUseBitmaps ;
  43. bool m_boolForceRedraw;
  44. int m_nRangeDecimals;
  45. int m_nValueDecimals;
  46. int m_nRectWidth;
  47. int m_nRectHeight;
  48. int m_nCXPix;
  49. int m_nCYPix;
  50. int m_nRadiusPix;
  51. int m_nLeftLimitXPix;
  52. int m_nLeftLimitYPix;
  53. int m_nRightLimitXPix;
  54. int m_nRightLimitYPix;
  55. int m_nHalfBaseWidth;
  56. int m_nTextBaseSpacing;
  57. double m_dPI;
  58. double m_dLimitAngleRad;
  59. double m_dRadiansPerValue;
  60. double m_dNeedlePos;
  61. double m_dMinScale; 
  62. double m_dMaxScale;
  63. CString m_strTitle;
  64. CDC m_dcGrid;
  65. CBitmap m_bitmapGrid;
  66. CBitmap *m_pbitmapOldGrid;
  67. CDC m_dcNeedle ;
  68. CBitmap m_bitmapNeedle;
  69. CBitmap *m_pbitmapOldNeedle;
  70. CRect m_rectDraw;
  71. CRect m_rectOwner;
  72. CRect m_rectMinValue;
  73. CRect m_rectMaxValue;
  74. CRect m_rectValue;
  75. CFont m_fontValue;
  76. CBrush m_brushErase;
  77. CPen m_penErase;
  78. // Generated message map functions
  79. //{{AFX_MSG(CAnalogMeter)
  80. // NOTE - the ClassWizard will add and remove member functions here.
  81. //}}AFX_MSG
  82. DECLARE_MESSAGE_MAP()
  83. };
  84. /////////////////////////////////////////////////////////////////////////////
  85. //{{AFX_INSERT_LOCATION}}
  86. // Microsoft Developer Studio will insert additional declarations immediately before the previous line.
  87. #endif // !defined(AFX_ANALOGMETER_H__7B6C2C14_9681_11D2_9136_0020AF9FE21E__INCLUDED_)