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

SNMP编程

开发平台:

MultiPlatform

  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. class CCreditStatic : public CStatic
  25. {
  26. protected:
  27. COLORREF    m_Colors[5];
  28. int         m_TextHeights[4];
  29.      TCHAR       m_Escapes[4];
  30. int         m_DisplaySpeed[3],m_CurrentSpeed;
  31. //  CRect       m_ScrollRect;    // rect of Static Text frame
  32. CStringList m_ArrCredit;
  33. CString m_szWork;
  34. int         m_nCounter;    // work ints
  35. POSITION    m_ArrIndex;
  36. BOOL        m_bFirstTime;
  37. BOOL        m_bDrawText;
  38. int         m_nClip,m_ScrollAmount;
  39. int         m_nCurrentFontHeight;
  40. CBitmap     m_bmpWork;                  // bitmap holder
  41. CBitmap m_BmpMain;                  // bitmap holder
  42. CSize  m_size;                     // drawing helpers
  43. CPoint  m_pt;
  44. BOOL  m_bProcessingBitmap;
  45. CPalette m_pal;
  46. CBitmap m_bitmap;
  47. int m_cxBitmap, m_cyBitmap;
  48. BOOL m_bFirstTurn;
  49. int n_MaxWidth;
  50. UINT        TimerOn;
  51. // Construction
  52. public:
  53. CCreditStatic();
  54. // Attributes
  55. public:
  56. // Operations
  57. public:
  58.    BOOL StartScrolling();
  59.    void EndScrolling();
  60.    void SetCredits(LPCTSTR credits, char delimiter = '|');
  61.    void SetCredits(UINT nID, char delimiter = 'n');
  62.    void SetSpeed(UINT index, int speed = 0);
  63.    void SetColor(UINT index, COLORREF col);
  64.    void SetTextHeight(UINT index, int height);
  65.    void SetEscape(UINT index, char escape);
  66.    BOOL SetBkImage(UINT nIDResource);
  67.    BOOL SetBkImage(LPCTSTR lpszResourceName);
  68. // Overrides
  69. // ClassWizard generated virtual function overrides
  70. //{{AFX_VIRTUAL(CCreditStatic)
  71. //}}AFX_VIRTUAL
  72. // Implementation
  73. public:
  74. virtual ~CCreditStatic();
  75. // Generated message map functions
  76. protected:
  77. void MoveCredit(CDC *pDC, CRect& r, CRect& r2, BOOL bCheck);
  78. void AddBackGround(CDC* pDC, CRect& m_ScrollRect, CRect& m_ClientRect);
  79. void DrawCredit(CDC* pDC, CRect& m_ScrollRect);
  80. //{{AFX_MSG(CCreditStatic)
  81. afx_msg void OnPaint();
  82. afx_msg BOOL OnEraseBkgnd(CDC* pDC);
  83. afx_msg void OnTimer(UINT nIDEvent);
  84. afx_msg void OnDestroy();
  85. afx_msg void OnSize(UINT nType, int cx, int cy);
  86. //}}AFX_MSG
  87. DECLARE_MESSAGE_MAP()
  88. };
  89. /////////////////////////////////////////////////////////////////////////////
  90. //{{AFX_INSERT_LOCATION}}
  91. // Microsoft Developer Studio will insert additional declarations immediately before the previous line.
  92. #endif // !defined(AFX_CREDITSTATIC_H__4ABD7701_49F5_11D1_9E3C_00A0245800CF__INCLUDED_)