Files
AC_Pro/TransSkinScrollBar.h
2026-06-13 00:05:19 +08:00

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