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, int NewValue);
  31. class DELPHICLASS TfcScrollbarRepeatInterval;
  32. class PASCALIMPLEMENTATION TfcScrollbarRepeatInterval : public Classes::TPersistent 
  33. {
  34. typedef Classes::TPersistent inherited;
  35. private:
  36. int FInitialDelay;
  37. int FRepeatInterval;
  38. public:
  39. __fastcall TfcScrollbarRepeatInterval(void);
  40. __published:
  41. __property int InitialDelay = {read=FInitialDelay, write=FInitialDelay, nodefault};
  42. __property int Interval = {read=FRepeatInterval, write=FRepeatInterval, nodefault};
  43. public:
  44. #pragma option push -w-inl
  45. /* TPersistent.Destroy */ inline __fastcall virtual ~TfcScrollbarRepeatInterval(void) { }
  46. #pragma option pop
  47. };
  48. class PASCALIMPLEMENTATION TfcCustomScrollBar : public Controls::TGraphicControl 
  49. {
  50. typedef Controls::TGraphicControl inherited;
  51. private:
  52. TfcScrollPosChangeEvent FOnChange;
  53. Forms::TScrollBarKind FKind;
  54. int FMax;
  55. int FMin;
  56. int FPageSize;
  57. int FPosition;
  58. Forms::TScrollBarInc FSmallChange;
  59. Extctrls::TTimer* FTimer;
  60. bool FFixedThumbSize;
  61. TfcScrollBarHitTest FClickedPos;
  62. TfcScrollbarRepeatInterval* FRepeatInterval;
  63. int DragOffset;
  64. int DragOrigPosition;
  65. bool FContinuousDrag;
  66. int FMinThumbSize;
  67. int FPriorPosition;
  68. TfcScrollBarHitTest FLastMouseMovePos;
  69. void __fastcall SetKind(Forms::TScrollBarKind Value);
  70. void __fastcall SetMax(int Value);
  71. void __fastcall SetMin(int Value);
  72. void __fastcall SetPageSize(int Value);
  73. void __fastcall SetPosition(int Value);
  74. void __fastcall SetSmallChange(Forms::TScrollBarInc Value);
  75. HIDESBASE MESSAGE void __fastcall CMDesignHitTest(Messages::TWMMouse &Message);
  76. HIDESBASE MESSAGE void __fastcall CMMouseEnter(Messages::TMessage &Message);
  77. HIDESBASE MESSAGE void __fastcall CMMouseLeave(Messages::TMessage &Message);
  78. MESSAGE void __fastcall WMEraseBkgnd(Messages::TWMEraseBkgnd &Message);
  79. protected:
  80. DYNAMIC void __fastcall MouseDown(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, int Y);
  81. DYNAMIC void __fastcall MouseMove(Classes::TShiftState Shift, int X, int Y);
  82. virtual void __fastcall Paint(void);
  83. virtual void __fastcall PaintScrollRegion(bool All)/* overload */;
  84. Types::TRect __fastcall GetSectionRect(TfcScrollBarHitTest Section, int DeltaX, int DeltaY);
  85. virtual void __fastcall MouseLoop(int X, int Y);
  86. virtual void __fastcall MouseLoop_MouseUp(int X, int Y, const Types::TPoint &ACursorPos);
  87. virtual void __fastcall ScrollPosChange(int OldPos, int NewPos);
  88. void __fastcall TimerEvent(System::TObject* Sender);
  89. virtual void __fastcall Scroll(int ScrollCode, int Position);
  90. virtual void __fastcall WndProc(Messages::TMessage &Message);
  91. int __fastcall ScrollScreenRange(void);
  92. virtual void __fastcall AdjustThumb(int &ThumbSize);
  93. public:
  94. Variant Patch;
  95. __fastcall virtual TfcCustomScrollBar(Classes::TComponent* AOwner);
  96. __fastcall virtual ~TfcCustomScrollBar(void);
  97. virtual bool __fastcall HasScrollRange(void);
  98. virtual TfcScrollBarHitTest __fastcall GetHitTestInfo(int X, int Y);
  99. virtual void __fastcall Invalidate(void);
  100. void __fastcall MoveScrollPos(void);
  101. virtual void __fastcall SetParams(int APosition, int AMax, int AMin);
  102. __property int MinThumbSize = {read=FMinThumbSize, write=FMinThumbSize, default=8};
  103. __property bool FixedThumbSize = {read=FFixedThumbSize, write=FFixedThumbSize, nodefault};
  104. __property Forms::TScrollBarKind Kind = {read=FKind, write=SetKind, nodefault};
  105. __property int Max = {read=FMax, write=SetMax, nodefault};
  106. __property int Min = {read=FMin, write=SetMin, nodefault};
  107. __property int PageSize = {read=FPageSize, write=SetPageSize, nodefault};
  108. __property int PriorPosition = {read=FPriorPosition, nodefault};
  109. __property int Position = {read=FPosition, write=SetPosition, nodefault};
  110. __property Forms::TScrollBarInc SmallChange = {read=FSmallChange, write=SetSmallChange, nodefault};
  111. __property bool ContinuousDrag = {read=FContinuousDrag, write=FContinuousDrag, nodefault};
  112. __property TfcScrollbarRepeatInterval* RepeatInterval = {read=FRepeatInterval, write=FRepeatInterval};
  113. __property TfcScrollPosChangeEvent OnChange = {read=FOnChange, write=FOnChange};
  114. };
  115. class DELPHICLASS TfcScrollBar;
  116. class PASCALIMPLEMENTATION TfcScrollBar : public TfcCustomScrollBar 
  117. {
  118. typedef TfcCustomScrollBar inherited;
  119. __published:
  120. __property Kind ;
  121. __property Max ;
  122. __property Min ;
  123. __property PageSize ;
  124. __property Position ;
  125. __property SmallChange ;
  126. __property OnChange ;
  127. public:
  128. #pragma option push -w-inl
  129. /* TfcCustomScrollBar.Create */ inline __fastcall virtual TfcScrollBar(Classes::TComponent* AOwner) : TfcCustomScrollBar(AOwner) { }
  130. #pragma option pop
  131. #pragma option push -w-inl
  132. /* TfcCustomScrollBar.Destroy */ inline __fastcall virtual ~TfcScrollBar(void) { }
  133. #pragma option pop
  134. };
  135. //-- var, const, procedure ---------------------------------------------------
  136. extern PACKAGE void __fastcall Register(void);
  137. } /* namespace Fcscrollbar */
  138. #if !defined(NO_IMPLICIT_NAMESPACE_USE)
  139. using namespace Fcscrollbar;
  140. #endif
  141. #pragma option pop // -w-
  142. #pragma option pop // -Vx
  143. #pragma delphiheader end.
  144. //-- end unit ----------------------------------------------------------------
  145. #endif // fcScrollBar