#ifndef __UITEXTSCROLLH__ #define __UITEXTSCROLLH__ #pragma once namespace DuiLib { #define ROLLTEXT_LEFT 0 #define ROLLTEXT_RIGHT 1 #define ROLLTEXT_UP 2 #define ROLLTEXT_DOWN 3 #define ROLLTEXT_TIMERID 20 #define ROLLTEXT_TIMERID_SPAN 50U #define ROLLTEXT_ROLL_END 21 #define ROLLTEXT_ROLL_END_SPAN 1000*6U class UILIB_API CRollTextUI : public CLabelUI { DECLARE_DUICONTROL(CRollTextUI) public: CRollTextUI(void); ~CRollTextUI(void); public: LPCTSTR GetClass() const; LPVOID GetInterface(LPCTSTR pstrName); public: virtual void PaintText(HDC hDC); virtual void DoEvent(TEventUI& event); virtual void SetPos(RECT rc); virtual void SetText(LPCTSTR pstrText); public: void BeginRoll(int nDirect = ROLLTEXT_RIGHT, LONG lTimeSpan = ROLLTEXT_TIMERID_SPAN, LONG lMaxTimeLimited = 60); void EndRoll(); private: int m_nStep; int m_nScrollPos; BOOL m_bUseRoll; int m_nRollDirection; int m_nText_W_H; }; } // namespace DuiLib #endif // __UITEXTSCROLLH__