00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #pragma once
00023
00024
00025
00026 class CPlayerSeekBar : public CDialogBar
00027 {
00028 DECLARE_DYNAMIC(CPlayerSeekBar)
00029
00030 private:
00031 __int64 m_start, m_stop, m_pos, m_posreal;
00032 bool m_fEnabled;
00033
00034 void MoveThumb(CPoint point);
00035 void SetPosInternal(__int64 pos);
00036
00037 CRect GetChannelRect();
00038 CRect GetThumbRect();
00039 CRect GetInnerThumbRect();
00040
00041 public:
00042 CPlayerSeekBar();
00043 virtual ~CPlayerSeekBar();
00044
00045 void Enable(bool fEnable);
00046
00047 void GetRange(__int64& start, __int64& stop);
00048 void SetRange(__int64 start, __int64 stop);
00049 __int64 GetPos(), GetPosReal();
00050 void SetPos(__int64 pos);
00051
00052
00053
00054
00055
00056 virtual BOOL Create(CWnd* pParentWnd);
00057 virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
00058
00059
00060
00061 protected:
00062
00063 afx_msg void OnPaint();
00064 afx_msg void OnSize(UINT nType, int cx, int cy);
00065 afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
00066 afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
00067 afx_msg void OnMouseMove(UINT nFlags, CPoint point);
00068 afx_msg BOOL OnEraseBkgnd(CDC* pDC);
00069
00070 DECLARE_MESSAGE_MAP()
00071 public:
00072 afx_msg BOOL OnPlayStop(UINT nID);
00073 };