fcscrollbar.hpp
上传用户:hylc_2004
上传日期:2014-01-23
资源大小:46800k
文件大小:6k
源码类别:

Delphi控件源码

开发平台:

Delphi

  1. // Borland C++ Builder
  2. // Copyright (c) 1995, 1999 by Borland International
  3. // All rights reserved
  4. // (DO NOT EDIT: machine generated header) 'fcScrollBar.pas' rev: 5.00
  5. #ifndef fcScrollBarHPP
  6. #define fcScrollBarHPP
  7. #pragma delphiheader begin
  8. #pragma option push -w-
  9. #pragma option push -Vx
  10. #include <ExtCtrls.hpp> // Pascal unit
  11. #include <fcCommon.hpp> // Pascal unit
  12. #include <Dialogs.hpp> // Pascal unit
  13. #include <Forms.hpp> // Pascal unit
  14. #include <Controls.hpp> // Pascal unit
  15. #include <Graphics.hpp> // Pascal unit
  16. #include <Classes.hpp> // Pascal unit
  17. #include <SysUtils.hpp> // Pascal unit
  18. #include <Messages.hpp> // Pascal unit
  19. #include <Windows.hpp> // Pascal unit
  20. #include <SysInit.hpp> // Pascal unit
  21. #include <System.hpp> // Pascal unit
  22. //-- user supplied -----------------------------------------------------------
  23. namespace Fcscrollbar
  24. {
  25. //-- type declarations -------------------------------------------------------
  26. #pragma option push -b-
  27. enum TfcScrollBarHitTest { htNone, htIncBtn, htDecBtn, htPageUp, htPageDown, htThumb };
  28. #pragma option pop
  29. class DELPHICLASS TfcCustomScrollBar;
  30. typedef void __fastcall (__closure *TfcScrollPosChangeEvent)(TfcCustomScrollBar* Sender, int PriorValue
  31. , int NewValue);
  32. class DELPHICLASS TfcScrollbarRepeatInterval;
  33. class PASCALIMPLEMENTATION TfcScrollbarRepeatInterval : public Classes::TPersistent 
  34. {
  35. typedef Classes::TPersistent inherited;
  36. private:
  37. int FInitialDelay;
  38. int FRepeatInterval;
  39. public:
  40. __fastcall TfcScrollbarRepeatInterval(void);
  41. __published:
  42. __property int InitialDelay = {read=FInitialDelay, write=FInitialDelay, nodefault};
  43. __property int Interval = {read=FRepeatInterval, write=FRepeatInterval, nodefault};
  44. public:
  45. #pragma option push -w-inl
  46. /* TPersistent.Destroy */ inline __fastcall virtual ~TfcScrollbarRepeatInterval(void) { }
  47. #pragma option pop
  48. };
  49. class PASCALIMPLEMENTATION TfcCustomScrollBar : public Controls::TGraphicControl 
  50. {
  51. typedef Controls::TGraphicControl inherited;
  52. private:
  53. TfcScrollPosChangeEvent FOnChange;
  54. Forms::TScrollBarKind FKind;
  55. int FMax;
  56. int FMin;
  57. int FPageSize;
  58. int FPosition;
  59. Forms::TScrollBarInc FSmallChange;
  60. Extctrls::TTimer* FTimer;
  61. bool FFixedThumbSize;
  62. TfcScrollBarHitTest FClickedPos;
  63. TfcScrollbarRepeatInterval* FRepeatInterval;
  64. int DragOffset;
  65. int DragOrigPosition;
  66. bool FContinuousDrag;
  67. int FMinThumbSize;
  68. int FPriorPosition;
  69. TfcScrollBarHitTest FLastMouseMovePos;
  70. void __fastcall SetKind(Forms::TScrollBarKind Value);
  71. void __fastcall SetMax(int Value);
  72. void __fastcall SetMin(int Value);
  73. void __fastcall SetPageSize(int Value);
  74. void __fastcall SetPosition(int Value);
  75. void __fastcall SetSmallChange(Forms::TScrollBarInc Value);
  76. HIDESBASE MESSAGE void __fastcall CMDesignHitTest(Messages::TWMMouse &Message);
  77. HIDESBASE MESSAGE void __fastcall CMMouseEnter(Messages::TMessage &Message);
  78. HIDESBASE MESSAGE void __fastcall CMMouseLeave(Messages::TMessage &Message);
  79. MESSAGE void __fastcall WMEraseBkgnd(Messages::TWMEraseBkgnd &Message);
  80. protected:
  81. DYNAMIC void __fastcall MouseDown(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, 
  82. int Y);
  83. DYNAMIC void __fastcall MouseMove(Classes::TShiftState Shift, int X, int Y);
  84. virtual void __fastcall Paint(void);
  85. virtual void __fastcall PaintScrollRegion(bool All)/* overload */;
  86. Windows::TRect __fastcall GetSectionRect(TfcScrollBarHitTest Section, int DeltaX, int DeltaY);
  87. virtual void __fastcall MouseLoop(int X, int Y);
  88. virtual void __fastcall MouseLoop_MouseUp(int X, int Y, const Windows::TPoint &ACursorPos);
  89. virtual void __fastcall ScrollPosChange(int OldPos, int NewPos);
  90. void __fastcall TimerEvent(System::TObject* Sender);
  91. virtual void __fastcall Scroll(int ScrollCode, int Position);
  92. virtual void __fastcall WndProc(Messages::TMessage &Message);
  93. int __fastcall ScrollScreenRange(void);
  94. virtual void __fastcall AdjustThumb(int &ThumbSize);
  95. public:
  96. Variant Patch;
  97. __fastcall virtual TfcCustomScrollBar(Classes::TComponent* AOwner);
  98. __fastcall virtual ~TfcCustomScrollBar(void);
  99. virtual bool __fastcall HasScrollRange(void);
  100. virtual TfcScrollBarHitTest __fastcall GetHitTestInfo(int X, int Y);
  101. virtual void __fastcall Invalidate(void);
  102. void __fastcall MoveScrollPos(void);
  103. virtual void __fastcall SetParams(int APosition, int AMax, int AMin);
  104. __property int MinThumbSize = {read=FMinThumbSize, write=FMinThumbSize, default=8};
  105. __property bool FixedThumbSize = {read=FFixedThumbSize, write=FFixedThumbSize, nodefault};
  106. __property Forms::TScrollBarKind Kind = {read=FKind, write=SetKind, nodefault};
  107. __property int Max = {read=FMax, write=SetMax, nodefault};
  108. __property int Min = {read=FMin, write=SetMin, nodefault};
  109. __property int PageSize = {read=FPageSize, write=SetPageSize, nodefault};
  110. __property int PriorPosition = {read=FPriorPosition, nodefault};
  111. __property int Position = {read=FPosition, write=SetPosition, nodefault};
  112. __property Forms::TScrollBarInc SmallChange = {read=FSmallChange, write=SetSmallChange, nodefault};
  113. __property bool ContinuousDrag = {read=FContinuousDrag, write=FContinuousDrag, nodefault};
  114. __property TfcScrollbarRepeatInterval* RepeatInterval = {read=FRepeatInterval, write=FRepeatInterval
  115. };
  116. __property TfcScrollPosChangeEvent OnChange = {read=FOnChange, write=FOnChange};
  117. };
  118. class DELPHICLASS TfcScrollBar;
  119. class PASCALIMPLEMENTATION TfcScrollBar : public TfcCustomScrollBar 
  120. {
  121. typedef TfcCustomScrollBar inherited;
  122. __published:
  123. __property Kind ;
  124. __property Max ;
  125. __property Min ;
  126. __property PageSize ;
  127. __property Position ;
  128. __property SmallChange ;
  129. __property OnChange ;
  130. public:
  131. #pragma option push -w-inl
  132. /* TfcCustomScrollBar.Create */ inline __fastcall virtual TfcScrollBar(Classes::TComponent* AOwner)
  133.  : TfcCustomScrollBar(AOwner) { }
  134. #pragma option pop
  135. #pragma option push -w-inl
  136. /* TfcCustomScrollBar.Destroy */ inline __fastcall virtual ~TfcScrollBar(void) { }
  137. #pragma option pop
  138. };
  139. //-- var, const, procedure ---------------------------------------------------
  140. extern PACKAGE void __fastcall Register(void);
  141. } /* namespace Fcscrollbar */
  142. #if !defined(NO_IMPLICIT_NAMESPACE_USE)
  143. using namespace Fcscrollbar;
  144. #endif
  145. #pragma option pop // -w-
  146. #pragma option pop // -Vx
  147. #pragma delphiheader end.
  148. //-- end unit ----------------------------------------------------------------
  149. #endif // fcScrollBar