DigiDisplay.h
上传用户:cbxyz2008
上传日期:2007-01-02
资源大小:45k
文件大小:4k
源码类别:

Static控件

开发平台:

Visual C++

  1. /////////////////////////////////////////////////////////////////////////////
  2. // Copyright (C) 1998 by Michel Wassink
  3. // All rights reserved
  4. //
  5. // This is free software.
  6. // You may redistribute it by any means providing it is not sold for profit
  7. // without the author written consent.
  8. //
  9. // No warrantee of any kind, expressed or implied, is included with this
  10. // software; use at your own risk, responsibility for damages (if any) to
  11. // anyone resulting from the use of this software rests entirely with the
  12. // user.
  13. //
  14. // Basic idea from J鰎g K鰊ig of the completely free tetris clone "CGTetris".
  15. // Clock stuff from by Xie Jingwei. 
  16. //
  17. // Send bug reports, bug fixes, enhancements, requests, flames, etc., and
  18. // I'll try to keep a version up to date.  I can be reached as follows:
  19. //    mww@mitutoyo.nl                 (company site)
  20. //    mwassink@csi.com   (private site)
  21. /////////////////////////////////////////////////////////////////////////////
  22. #if !defined(AFX_CDigiDisplay_H__84DF3FA2_067D_11D2_9AA5_0060B0CDC13E__INCLUDED_)
  23. #define AFX_CDigiDisplay_H__84DF3FA2_067D_11D2_9AA5_0060B0CDC13E__INCLUDED_
  24. #if _MSC_VER >= 1000
  25. #pragma once
  26. #endif // _MSC_VER >= 1000
  27. // CDigiDisplay.h : header file
  28. //
  29. #include "RGBCOLOR.H"
  30. #define MAXSEGCHARS 40
  31. #define TOTCHARS (MAXSEGCHARS+2)
  32. /////////////////////////////////////////////////////////////////////////////
  33. // CDigiDisplay window
  34. class CDigiDisplay : public CStatic
  35. {
  36. // Construction
  37. public:
  38. CDigiDisplay();
  39. // Attributes
  40. public:
  41. // Operations
  42. public:
  43. // Overrides
  44. // ClassWizard generated virtual function overrides
  45. //{{AFX_VIRTUAL(CDigiDisplay)
  46. //}}AFX_VIRTUAL
  47. // Implementation
  48. public:
  49. void SetText(LPCSTR lpszFormat);
  50. COLORREF GetColor() const { return m_OnColor;}
  51. void SetColor(COLORREF OffColor, COLORREF OnColor);
  52. void SetBackColor(COLORREF BackColor = BLACK);
  53. virtual ~CDigiDisplay();
  54. // Generated message map functions
  55. protected:
  56. //{{AFX_MSG(CDigiDisplay)
  57. afx_msg BOOL OnEraseBkgnd(CDC* pDC);
  58. afx_msg void OnPaint();
  59. //}}AFX_MSG
  60. void UpdateColor();
  61. HBITMAP LoadBitMap(int iBmp);
  62. int GetDigit(TCHAR cChar);
  63. CString m_strNumber;
  64. DECLARE_MESSAGE_MAP()
  65. private:
  66. CString m_strFormat;
  67. CString m_strOldNumber;
  68. BITMAP m_BM[TOTCHARS];
  69. COLORREF    m_OffColor;
  70. COLORREF    m_OnColor;
  71. COLORREF    m_BackColor;
  72. };
  73. void DDX_DigiDisplay(CDataExchange* pDX, int nIDC, LPCTSTR lpszFormat, ... );
  74. class CDigiClock : public CDigiDisplay
  75. {
  76. // Construction
  77. public:
  78. CDigiClock();
  79. // Attributes
  80. public:
  81. enum CClockStyle { XDC_SECOND, XDC_NOSECOND };
  82. // Operations
  83. public:
  84. CClockStyle GetStyle() const { return m_style;}
  85. CClockStyle SetStyle(CClockStyle style);
  86. BOOL GetAlarm() const { return m_bAlarm;}
  87. BOOL SetAlarm(BOOL bAlarm = TRUE);
  88. // Overrides
  89. // ClassWizard generated virtual function overrides
  90. //{{AFX_VIRTUAL(CDigiClock)
  91. protected:
  92. virtual void PreSubclassWindow();
  93. //}}AFX_VIRTUAL
  94. // Implementation
  95. public:
  96. // Generated message map functions
  97. protected:
  98. //{{AFX_MSG(CDigiClock)
  99. afx_msg void OnTimer(UINT nIDEvent);
  100. afx_msg void OnDestroy();
  101. //}}AFX_MSG
  102. private:
  103. BOOL m_bAlarm;
  104. CClockStyle m_style;
  105. UINT m_nTimer;
  106. UINT m_nCount;
  107. DECLARE_MESSAGE_MAP()
  108. };
  109. /////////////////////////////////////////////////////////////////////////////
  110. //{{AFX_INSERT_LOCATION}}
  111. // Microsoft Developer Studio will insert additional declarations immediately before the previous line.
  112. #endif // !defined(AFX_CDigiDisplay_H__84DF3FA2_067D_11D2_9AA5_0060B0CDC13E__INCLUDED_)