CreditStatic.h
上传用户:lczygg
上传日期:2007-07-03
资源大小:2947k
文件大小:3k
源码类别:

语音合成与识别

开发平台:

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.     CFont m_fntArial;
  59. // Construction
  60. public:
  61. CCreditStatic();
  62. // Attributes
  63. public:
  64. // Operations
  65. public:
  66. BOOL StartScrolling();
  67. void EndScrolling();
  68. void SetCredits(LPCTSTR credits, char delimiter = '|');
  69. void SetCredits(UINT nID, char delimiter = '|');
  70. void SetSpeed(UINT index, int speed = 0);
  71. void SetColor(UINT index, COLORREF col);
  72. void SetTextHeight(UINT index, int height);
  73. void SetEscape(UINT index, char escape);
  74. void SetGradient(UINT value = GRADIENT_RIGHT_DARK);
  75. BOOL SetBkImage(UINT nIDResource);
  76. BOOL SetBkImage(LPCTSTR lpszResourceName);
  77. void SetTransparent(BOOL bTransparent = TRUE);
  78. // Overrides
  79. // ClassWizard generated virtual function overrides
  80. //{{AFX_VIRTUAL(CCreditStatic)
  81. //}}AFX_VIRTUAL
  82. // Implementation
  83. public:
  84. virtual ~CCreditStatic();
  85. // Generated message map functions
  86. protected:
  87. void MoveCredit(CDC *pDC, CRect& r, CRect& r2, BOOL bCheck);
  88. void AddBackGround(CDC* pDC, CRect& m_ScrollRect, CRect& m_ClientRect);
  89. //{{AFX_MSG(CCreditStatic)
  90. afx_msg BOOL OnEraseBkgnd(CDC* pDC);
  91. afx_msg void OnTimer(UINT nIDEvent);
  92. afx_msg void OnDestroy();
  93. //}}AFX_MSG
  94. DECLARE_MESSAGE_MAP()
  95. };
  96. /////////////////////////////////////////////////////////////////////////////
  97. //{{AFX_INSERT_LOCATION}}
  98. // Microsoft Developer Studio will insert additional declarations immediately before the previous line.
  99. #endif // !defined(AFX_CREDITSTATIC_H__4ABD7701_49F5_11D1_9E3C_00A0245800CF__INCLUDED_)