//--------------------------------------------------------------------------- #ifndef TransSkinScrollBarH #define TransSkinScrollBarH class TBtnPanel; //--------------------------------------------------------------------------- class PACKAGE TTransSkinScollBar : public Vcl::Extctrls::TPanel { private: System::Classes::TNotifyEvent FChangePos; bool FVertial; void __fastcall SetVertial(bool bFVertial); int FSBShow ,FSBTotal, FSBTop; void __fastcall SetSBTop(int nTop); void __fastcall SetTransparent(bool bTrans); void __fastcall SetTransparentValue(BYTE value); void __fastcall BtnPaintThumb(int BsTmp, TRect TRectTmp, TCanvas *pCanvas); void __fastcall BtnEventThumb(int MsTmp, int XPos, int YPos); void __fastcall BtnPaintBKG(int BsTmp, TRect TRectTmp, TCanvas *pCanvas); void __fastcall BtnEventBKG(int MsTmp, int XPos, int YPos); void __fastcall BtnPaintLINEUp(int BsTmp, TRect TRectTmp, TCanvas *pCanvas); void __fastcall BtnEventLINEUp(int MsTmp, int XPos, int YPos); void __fastcall BtnPaintLINEDown(int BsTmp, TRect TRectTmp, TCanvas *pCanvas); void __fastcall BtnEventLINEDown(int MsTmp, int XPos, int YPos); void __fastcall AddThumbTop(int nAdd, bool bEraseBKG=false, TTimer *pTTimer=NULL); void __fastcall SetThumbTop(int nTop, bool bEraseBKG=false, TTimer *pTTimer=NULL); bool m_bLineUp; bool m_bPageUp; TTimer *m_pTTimerLine; TTimer *m_pTTimerPage; void __fastcall EventTimerThumb(System::TObject* Sender); bool m_bPices; int FThumbWidth; protected: TBtnPanel *m_BtnBKG; TBtnPanel *m_BtnThumb; TBtnPanel *m_BtnLINEUp; TBtnPanel *m_BtnLINEDown; int __fastcall CalThumbHeight(); int __fastcall CalThumbTop(); int __fastcall CalThumbWidth(); int __fastcall CalThumbLeft(); virtual void __fastcall CreateWnd(); virtual void __fastcall CreateParams(Controls::TCreateParams &Params); virtual void __fastcall Paint(void); MESSAGE void __fastcall WMSize(Winapi::Messages::TWMSize &Message); MESSAGE void __fastcall WMEraseBkgnd(TWMEraseBkgnd &Message); BEGIN_MESSAGE_MAP MESSAGE_HANDLER(WM_ERASEBKGND, TWMEraseBkgnd, WMEraseBkgnd) MESSAGE_HANDLER(WM_SIZE, TWMSize, WMSize) END_MESSAGE_MAP( Vcl::Extctrls::TPanel ) public: __fastcall virtual TTransSkinScollBar(System::Classes::TComponent* AOwner); __fastcall virtual ~TTransSkinScollBar(void); __published: __property bool Vertial = {read=FVertial, write=SetVertial, default=true}; __property int SBShow = {read=FSBShow, write=FSBShow, default=0 }; __property int SBTotal = {read=FSBTotal, write=FSBTotal, default=0 }; __property int SBTop = {read=FSBTop, write=SetSBTop, default=0 }; __property int ThumbWidth = {read=FThumbWidth, write=FThumbWidth, default=-1}; __property TNotifyEvent OnChangePos = {read=FChangePos, write=FChangePos}; }; //--------------------------------------------------------------------------- #endif