StaticFader.h
上传用户:guanx8y8
上传日期:2007-07-30
资源大小:326k
文件大小:3k
开发平台:

Visual C++

  1. #if !defined(AFX_STATICFADER_H__7F93423B_AD47_11D3_803B_00805FC1DE10__INCLUDED_)
  2. #define AFX_STATICFADER_H__7F93423B_AD47_11D3_803B_00805FC1DE10__INCLUDED_
  3. #if _MSC_VER > 1000
  4. #pragma once
  5. #endif // _MSC_VER > 1000
  6. // StaticFader.h : header file
  7. //
  8. #include <afxtempl.h>
  9. #include "MemDC.h"
  10. #include "AutoFont.h"
  11. /////////////////////////////////////////////////////////////////////////////
  12. // CStaticFader window
  13. class CStaticFader : public CStatic
  14. {
  15. // Construction
  16. public:
  17. CStaticFader();
  18. // Attributes
  19. public:
  20. // Operations
  21. public:
  22. // Overrides
  23. // ClassWizard generated virtual function overrides
  24. //{{AFX_VIRTUAL(CStaticFader)
  25. //}}AFX_VIRTUAL
  26. /////////////////////////////////////////////////////////////////////////////
  27. // Public Member Functions /////////////////////////////////////////////
  28. /////////////////////////////////////////////////////////////////////////////
  29. public:
  30. void SetSubTextLogFont(LOGFONT &logfont);
  31. void SetMainTextLogFont(LOGFONT& logfont);
  32. void Initialise( COLORREF crBG, COLORREF crMainText=RGB(0,0,0), COLORREF crSubText=RGB(0,0,0));
  33. void SetAlignLeft(){m_uAlignFlag = DT_LEFT;};
  34. void SetAlignRight(){m_uAlignFlag = DT_RIGHT;};
  35. void SetAlignCentre(){m_uAlignFlag = DT_CENTER;};
  36. void SetDrawShadow(bool bShadow = true) { m_bDrawShadow = bShadow; };
  37. void SetDrawBorder(bool bBorder = true) { m_bDrawBorder = bBorder; };
  38. COLORREF GetBackgroundColour() { return m_crBackground; };
  39. void SetBackgroundColour(COLORREF crColour) { m_crBackground = crColour; };
  40. void SetSubTextColour(COLORREF crColour) { m_crSubText = crColour; };
  41. void SetMainTextColour(COLORREF crColour) { m_crMainText = crColour;};
  42. void Display(CString strText, CString strSubText, int nFadePercent=50, bool bResetColours=false, CString strSubFont="", CString strMainFont=""); // the fade percent is percent of one second
  43. virtual ~CStaticFader();
  44. /////////////////////////////////////////////////////////////////////////////
  45. // Protected Member Functions /////////////////////////////////////////
  46. /////////////////////////////////////////////////////////////////////////////
  47. protected:
  48. void DrawText(CMemDC* pDC);
  49. COLORREF GetCurrentColour( COLORREF crText=RGB(0,0,0) );
  50. /////////////////////////////////////////////////////////////////////////////
  51. // Protected Member Variables /////////////////////////////////////////
  52. /////////////////////////////////////////////////////////////////////////////
  53. protected:
  54. UINT m_uAlignFlag;
  55. int m_nFadePercent;
  56. bool m_bDrawBorder;
  57. bool m_bDrawShadow;
  58. CMemDC* m_pDC;
  59. COLORREF m_crSubText, m_crMainText;
  60. CAutoFont* m_pSubFont;
  61. CAutoFont* m_pMainFont;
  62. CString m_strSubText, m_strMainText;
  63. COLORREF m_crBackground;
  64. CRect m_rectClient;
  65. DWORD m_dwStopwatch;
  66. //{{AFX_MSG(CStaticFader)
  67. afx_msg void OnTimer(UINT nIDEvent);
  68. afx_msg void OnPaint();
  69. //}}AFX_MSG
  70. DECLARE_MESSAGE_MAP()
  71. };
  72. /////////////////////////////////////////////////////////////////////////////
  73. //{{AFX_INSERT_LOCATION}}
  74. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  75. #endif // !defined(AFX_STATICFADER_H__7F93423B_AD47_11D3_803B_00805FC1DE10__INCLUDED_)