CreditStatic.h
上传用户:zhenlu1001
上传日期:2007-01-02
资源大小:131k
文件大小:3k
源码类别:

Static控件

开发平台:

Visual C++

  1. #if !defined(AFX_CREDITSTATIC_H__4ABD7701_49F5_11D1_9E3C_00A0245800CF__INCLUDED_)
  2. #define AFX_CREDITSTATIC_H__4ABD7701_49F5_11D1_9E3C_00A0245800CF__INCLUDED_
  3. #if _MSC_VER >= 1000
  4. #pragma once
  5. #endif // _MSC_VER >= 1000
  6. // CreditStatic.h : header file
  7. //
  8. #define DISPLAY_SLOW 0
  9. #define DISPLAY_MEDIUM 1
  10. #define DISPLAY_FAST 2
  11. #define BACKGROUND_COLOR        0
  12. #define TOP_LEVEL_TITLE_COLOR 1
  13. #define TOP_LEVEL_GROUP_COLOR   2
  14. #define GROUP_TITLE_COLOR       3
  15. #define NORMAL_TEXT_COLOR 4
  16. #define TOP_LEVEL_TITLE_HEIGHT 0
  17. #define TOP_LEVEL_GROUP_HEIGHT  1     
  18. #define GROUP_TITLE_HEIGHT     2     
  19. #define NORMAL_TEXT_HEIGHT 3
  20. #define TOP_LEVEL_TITLE 0   // 't'
  21. #define TOP_LEVEL_GROUP         1   // 'n'
  22. #define GROUP_TITLE            2   // 'r'
  23. #define DISPLAY_BITMAP 3   // '^'
  24. #define GRADIENT_NONE 0
  25. #define GRADIENT_RIGHT_DARK 1
  26. #define GRADIENT_RIGHT_LIGHT 2
  27. #define GRADIENT_LEFT_DARK 3
  28. #define GRADIENT_LEFT_LIGHT 4
  29. class CCreditStatic : public CStatic
  30. {
  31. protected:
  32. COLORREF    m_Colors[5];
  33. int         m_TextHeights[4];
  34.      TCHAR       m_Escapes[4];
  35. int         m_DisplaySpeed[3],m_CurrentSpeed;
  36. //  CRect       m_ScrollRect;    // rect of Static Text frame
  37. CStringList m_ArrCredit;
  38. CString m_szWork;
  39. int         m_nCounter;    // work ints
  40. POSITION    m_ArrIndex;
  41. BOOL        m_bFirstTime;
  42. BOOL        m_bDrawText;
  43. int         m_nClip,m_ScrollAmount;
  44. int         m_nCurrentFontHeight;
  45. CBitmap     m_bmpWork;                  // bitmap holder
  46. CBitmap m_BmpMain;                  // bitmap holder
  47. CSize  m_size;                     // drawing helpers
  48. CPoint  m_pt;
  49. BOOL  m_bProcessingBitmap;
  50. CPalette m_pal;
  51. CBitmap m_bitmap;
  52. int m_cxBitmap, m_cyBitmap;
  53. BOOL m_bFirstTurn;
  54. UINT        m_Gradient;
  55. BOOL m_bTransparent;
  56. int n_MaxWidth;
  57. UINT        TimerOn;
  58. // Construction
  59. public:
  60. CCreditStatic();
  61. // Attributes
  62. public:
  63. // Operations
  64. public:
  65. BOOL StartScrolling();
  66. void EndScrolling();
  67. void SetCredits(LPCTSTR credits, char delimiter = '|');
  68. void SetCredits(UINT nID, char delimiter = '|');
  69. void SetSpeed(UINT index, int speed = 0);
  70. void SetColor(UINT index, COLORREF col);
  71. void SetTextHeight(UINT index, int height);
  72. void SetEscape(UINT index, char escape);
  73. void SetGradient(UINT value = GRADIENT_RIGHT_DARK);
  74. BOOL SetBkImage(UINT nIDResource);
  75. BOOL SetBkImage(LPCTSTR lpszResourceName);
  76. void SetTransparent(BOOL bTransparent = TRUE);
  77. // Overrides
  78. // ClassWizard generated virtual function overrides
  79. //{{AFX_VIRTUAL(CCreditStatic)
  80. //}}AFX_VIRTUAL
  81. // Implementation
  82. public:
  83. virtual ~CCreditStatic();
  84. // Generated message map functions
  85. protected:
  86. void MoveCredit(CDC *pDC, CRect& r, CRect& r2, BOOL bCheck);
  87. void AddBackGround(CDC* pDC, CRect& m_ScrollRect, CRect& m_ClientRect);
  88. void DrawCredit(CDC* pDC, CRect& m_ScrollRect);
  89. void FillGradient(CDC *pDC, CRect *m_ScrollRect, CRect *m_FillRect, COLORREF color);
  90. void DrawBitmap(CDC* pDC, CDC* pDC2, CRect *rBitmap);
  91. //{{AFX_MSG(CCreditStatic)
  92. afx_msg void OnPaint();
  93. afx_msg BOOL OnEraseBkgnd(CDC* pDC);
  94. afx_msg void OnTimer(UINT nIDEvent);
  95. afx_msg void OnDestroy();
  96. //}}AFX_MSG
  97. DECLARE_MESSAGE_MAP()
  98. };
  99. /////////////////////////////////////////////////////////////////////////////
  100. //{{AFX_INSERT_LOCATION}}
  101. // Microsoft Developer Studio will insert additional declarations immediately before the previous line.
  102. #endif // !defined(AFX_CREDITSTATIC_H__4ABD7701_49F5_11D1_9E3C_00A0245800CF__INCLUDED_)