86 lines
2.8 KiB
C++
86 lines
2.8 KiB
C++
//---------------------------------------------------------------------------
|
|
#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
|