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

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) 'fctrackbar.pas' rev: 5.00
  5. #ifndef fctrackbarHPP
  6. #define fctrackbarHPP
  7. #pragma delphiheader begin
  8. #pragma option push -w-
  9. #pragma option push -Vx
  10. #include <fcCommon.hpp> // Pascal unit
  11. #include <fcpanel.hpp> // Pascal unit
  12. #include <DB.hpp> // Pascal unit
  13. #include <DBCtrls.hpp> // Pascal unit
  14. #include <ComCtrls.hpp> // Pascal unit
  15. #include <ExtCtrls.hpp> // Pascal unit
  16. #include <ImgList.hpp> // Pascal unit
  17. #include <StdCtrls.hpp> // Pascal unit
  18. #include <Graphics.hpp> // Pascal unit
  19. #include <Menus.hpp> // Pascal unit
  20. #include <Forms.hpp> // Pascal unit
  21. #include <Controls.hpp> // Pascal unit
  22. #include <Classes.hpp> // Pascal unit
  23. #include <CommCtrl.hpp> // Pascal unit
  24. #include <SysUtils.hpp> // Pascal unit
  25. #include <Windows.hpp> // Pascal unit
  26. #include <Messages.hpp> // Pascal unit
  27. #include <Consts.hpp> // Pascal unit
  28. #include <SysInit.hpp> // Pascal unit
  29. #include <System.hpp> // Pascal unit
  30. //-- user supplied -----------------------------------------------------------
  31. namespace Fctrackbar
  32. {
  33. //-- type declarations -------------------------------------------------------
  34. #pragma option push -b-
  35. enum TfcTrackBarOrientation { trfcHorizontal, trfcVertical };
  36. #pragma option pop
  37. #pragma option push -b-
  38. enum TfcTickMark { tmfcBottomRight, tmfcTopLeft, tmfcBoth };
  39. #pragma option pop
  40. #pragma option push -b-
  41. enum TfcTickStyle { tsfcNone, tsfcAuto, tsfcManual };
  42. #pragma option pop
  43. #pragma option push -b-
  44. enum TfcTrackBarTextPosition { tbtLeft, tbtRight, tbtTop, tbtBottom };
  45. #pragma option pop
  46. class DELPHICLASS TfcTrackBarText;
  47. class DELPHICLASS TfcTrackBar;
  48. class DELPHICLASS TfcTrackIcon;
  49. class PASCALIMPLEMENTATION TfcTrackIcon : public Controls::TGraphicControl 
  50. {
  51. typedef Controls::TGraphicControl inherited;
  52. private:
  53. Graphics::TBitmap* TrackBmp;
  54. Classes::TNotifyEvent FOnEndDrag;
  55. void __fastcall MouseLoop_Drag(int X, int Y);
  56. protected:
  57. bool DraggingThumb;
  58. DYNAMIC void __fastcall MouseDown(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, int Y);
  59. virtual void __fastcall Paint(void);
  60. HIDESBASE MESSAGE void __fastcall WMPaint(Messages::TWMPaint &Message);
  61. public:
  62. TfcTrackBar* TrackBar;
  63. __fastcall virtual TfcTrackIcon(Classes::TComponent* AOwner);
  64. __fastcall virtual ~TfcTrackIcon(void);
  65. __published:
  66. __property Classes::TNotifyEvent OnEndDrag = {read=FOnEndDrag, write=FOnEndDrag};
  67. };
  68. class DELPHICLASS TfcTrackRepeatTimer;
  69. class PASCALIMPLEMENTATION TfcTrackRepeatTimer : public Extctrls::TTimer 
  70. {
  71. typedef Extctrls::TTimer inherited;
  72. private:
  73. double Increment;
  74. public:
  75. #pragma option push -w-inl
  76. /* TTimer.Create */ inline __fastcall virtual TfcTrackRepeatTimer(Classes::TComponent* AOwner) : Extctrls::TTimer(AOwner) { }
  77. #pragma option pop
  78. #pragma option push -w-inl
  79. /* TTimer.Destroy */ inline __fastcall virtual ~TfcTrackRepeatTimer(void) { }
  80. #pragma option pop
  81. };
  82. typedef void __fastcall (__closure *TfcDrawTickTextEvent)(System::TObject* Sender, double TickValue, AnsiString &ATickText, Types::TRect &ARect, bool &DoDefault);
  83. class PASCALIMPLEMENTATION TfcTrackBar : public Fcpanel::TfcCustomPanel 
  84. {
  85. typedef Fcpanel::TfcCustomPanel inherited;
  86. private:
  87. TfcTrackBarText* FTextAttributes;
  88. TfcTrackBarOrientation FOrientation;
  89. TfcTickMark FTickMarks;
  90. TfcTickStyle FTickStyle;
  91. double FIncrement;
  92. int FPageSize;
  93. int FThumbLength;
  94. int FThumbThickness;
  95. bool FSliderVisible;
  96. double FMin;
  97. double FMax;
  98. double FFrequency;
  99. double FPosition;
  100. double FSelStart;
  101. double FSelEnd;
  102. Classes::TNotifyEvent FOnChange;
  103. Dbctrls::TFieldDataLink* FDataLink;
  104. TfcTrackIcon* TrackButton;
  105. Graphics::TBitmap* FTrackThumbIcon;
  106. int FThumbTrackSeparation;
  107. Graphics::TColor FThumbColor;
  108. Graphics::TColor FTrackColor;
  109. Graphics::TColor FTrackPartialFillColor;
  110. TfcTrackRepeatTimer* FRepeatTimer;
  111. int FSpacingLeftTop;
  112. int FSpacingRightBottom;
  113. int FSpacingEdgeTrackbar;
  114. bool FReadOnly;
  115. bool FInverted;
  116. TfcDrawTickTextEvent FOnDrawTickText;
  117. bool FDisableThemes;
  118. bool SkipEdit;
  119. virtual void __fastcall PositionChanging(void);
  120. virtual void __fastcall TimerExpired(System::TObject* Sender);
  121. void __fastcall SetThumbColor(Graphics::TColor val);
  122. int __fastcall GetThumbLength(void);
  123. int __fastcall GetThumbThickness(void);
  124. void __fastcall SetOrientation(TfcTrackBarOrientation Value);
  125. void __fastcall SetParams(double APosition, double AMin, double AMax);
  126. void __fastcall SetPosition(double Value);
  127. void __fastcall SetMin(double Value);
  128. void __fastcall SetMax(double Value);
  129. void __fastcall SetFrequency(double Value);
  130. void __fastcall SetTickStyle(TfcTickStyle Value);
  131. void __fastcall SetTickMarks(TfcTickMark Value);
  132. void __fastcall SetIncrement(double Value);
  133. void __fastcall SetPageSize(int Value);
  134. void __fastcall SetThumbLength(int Value);
  135. void __fastcall SetThumbThickness(int Value);
  136. void __fastcall SetSliderVisible(bool Value);
  137. void __fastcall SetSelStart(double Value);
  138. void __fastcall SetSelEnd(double Value);
  139. void __fastcall UpdateSelection(void);
  140. void __fastcall UpdateFromButton(System::TObject* Sender);
  141. MESSAGE void __fastcall CNHScroll(Messages::TWMScroll &Message);
  142. MESSAGE void __fastcall CNVScroll(Messages::TWMScroll &Message);
  143. HIDESBASE MESSAGE void __fastcall WMEraseBkGnd(Messages::TWMEraseBkgnd &Message);
  144. HIDESBASE MESSAGE void __fastcall WMPaint(Messages::TWMPaint &Message);
  145. AnsiString __fastcall GetDataField();
  146. Db::TDataSource* __fastcall GetDataSource(void);
  147. void __fastcall SetDataField(const AnsiString Value);
  148. void __fastcall SetDataSource(Db::TDataSource* Value);
  149. Db::TField* __fastcall GetField(void);
  150. void __fastcall SetThumbIcon(Graphics::TBitmap* Value);
  151. Graphics::TBitmap* __fastcall GetThumbIcon(void);
  152. MESSAGE void __fastcall WMGetDlgCode(Messages::TWMNoParams &Message);
  153. HIDESBASE MESSAGE void __fastcall WMSetFocus(Messages::TWMSetFocus &Message);
  154. HIDESBASE MESSAGE void __fastcall CMEnter(Messages::TWMNoParams &Message);
  155. HIDESBASE MESSAGE void __fastcall CMExit(Messages::TWMNoParams &Message);
  156. MESSAGE void __fastcall CMGetDataLink(Messages::TMessage &Message);
  157. void __fastcall SetSpacingLeftTop(int Value);
  158. void __fastcall SetSpacingRightBottom(int Value);
  159. void __fastcall SetSpacingEdgeTrackbar(int Value);
  160. double __fastcall GetDBValue(void);
  161. void __fastcall SetTrackColor(Graphics::TColor Value);
  162. void __fastcall SetTrackPartialFillColor(Graphics::TColor Value);
  163. protected:
  164. virtual void __fastcall DrawTickText(double TickValue, AnsiString TickText, const Types::TRect &ARect);
  165. void __fastcall UpdateRecord(void);
  166. virtual void __fastcall UpdateData(System::TObject* Sender);
  167. virtual bool __fastcall EffectiveReadOnly(void);
  168. virtual bool __fastcall EditCanModify(void);
  169. virtual void __fastcall PaintThumb(int ALeft, int ATop);
  170. virtual double __fastcall getPosition(void);
  171. Types::TRect __fastcall GetTrackBarRect();
  172. virtual void __fastcall CreateParams(Controls::TCreateParams &Params);
  173. virtual void __fastcall CreateWnd(void);
  174. virtual void __fastcall DestroyWnd(void);
  175. HIDESBASEDYNAMIC void __fastcall Changed(void);
  176. virtual void __fastcall DataChange(System::TObject* Sender);
  177. virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation);
  178. virtual void __fastcall Paint(void);
  179. int __fastcall ValToPixel(Extended Val);
  180. DYNAMIC void __fastcall MouseDown(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, int Y);
  181. DYNAMIC void __fastcall MouseUp(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, int Y);
  182. DYNAMIC void __fastcall KeyDown(Word &Key, Classes::TShiftState Shift);
  183. public:
  184. __fastcall virtual TfcTrackBar(Classes::TComponent* AOwner);
  185. __fastcall virtual ~TfcTrackBar(void);
  186. __property Dbctrls::TFieldDataLink* DataLink = {read=FDataLink};
  187. __property Db::TField* Field = {read=GetField};
  188. __published:
  189. __property bool DisableThemes = {read=FDisableThemes, write=FDisableThemes, default=0};
  190. __property TfcTrackBarText* TextAttributes = {read=FTextAttributes, write=FTextAttributes};
  191. __property Graphics::TBitmap* TrackThumbIcon = {read=GetThumbIcon, write=SetThumbIcon};
  192. __property Graphics::TColor ThumbColor = {read=FThumbColor, write=SetThumbColor, nodefault};
  193. __property int SpacingLeftTop = {read=FSpacingLeftTop, write=SetSpacingLeftTop, default=5};
  194. __property int SpacingRightBottom = {read=FSpacingRightBottom, write=SetSpacingRightBottom, default=5};
  195. __property int SpacingEdgeTrackbar = {read=FSpacingEdgeTrackbar, write=SetSpacingEdgeTrackbar, default=2};
  196. __property bool ReadOnly = {read=FReadOnly, write=FReadOnly, nodefault};
  197. __property bool Inverted = {read=FInverted, write=FInverted, default=0};
  198. __property Graphics::TColor TrackColor = {read=FTrackColor, write=SetTrackColor, default=16777215};
  199. __property Graphics::TColor TrackPartialFillColor = {read=FTrackPartialFillColor, write=SetTrackPartialFillColor, default=536870911};
  200. __property Align ;
  201. __property Anchors ;
  202. __property BorderWidth ;
  203. __property Ctl3D ;
  204. __property DragCursor ;
  205. __property DragKind ;
  206. __property DragMode ;
  207. __property Enabled ;
  208. __property Constraints ;
  209. __property double Increment = {read=FIncrement, write=SetIncrement};
  210. __property double Max = {read=FMax, write=SetMax};
  211. __property double Min = {read=FMin, write=SetMin};
  212. __property TfcTrackBarOrientation Orientation = {read=FOrientation, write=SetOrientation, default=0};
  213. __property ParentCtl3D ;
  214. __property ParentShowHint ;
  215. __property int PageSize = {read=FPageSize, write=SetPageSize, default=2};
  216. __property PopupMenu ;
  217. __property double Frequency = {read=FFrequency, write=SetFrequency};
  218. __property double Position = {read=getPosition, write=SetPosition};
  219. __property bool SliderVisible = {read=FSliderVisible, write=SetSliderVisible, default=1};
  220. __property double SelEnd = {read=FSelEnd, write=SetSelEnd};
  221. __property double SelStart = {read=FSelStart, write=SetSelStart};
  222. __property ShowHint ;
  223. __property TabOrder ;
  224. __property TabStop ;
  225. __property int ThumbLength = {read=GetThumbLength, write=SetThumbLength, default=20};
  226. __property int ThumbThickness = {read=GetThumbThickness, write=SetThumbThickness, default=10};
  227. __property TfcTickMark TickMarks = {read=FTickMarks, write=SetTickMarks, default=0};
  228. __property TfcTickStyle TickStyle = {read=FTickStyle, write=SetTickStyle, default=1};
  229. __property Visible ;
  230. __property OnContextPopup ;
  231. __property TfcDrawTickTextEvent OnDrawTickText = {read=FOnDrawTickText, write=FOnDrawTickText};
  232. __property Classes::TNotifyEvent OnChange = {read=FOnChange, write=FOnChange};
  233. __property OnDragDrop ;
  234. __property OnDragOver ;
  235. __property OnEndDock ;
  236. __property OnEndDrag ;
  237. __property OnEnter ;
  238. __property OnExit ;
  239. __property OnKeyDown ;
  240. __property OnKeyPress ;
  241. __property OnKeyUp ;
  242. __property OnStartDock ;
  243. __property OnStartDrag ;
  244. __property AnsiString DataField = {read=GetDataField, write=SetDataField};
  245. __property Db::TDataSource* DataSource = {read=GetDataSource, write=SetDataSource};
  246. public:
  247. #pragma option push -w-inl
  248. /* TWinControl.CreateParented */ inline __fastcall TfcTrackBar(HWND ParentWindow) : Fcpanel::TfcCustomPanel(ParentWindow) { }
  249. #pragma option pop
  250. };
  251. class PASCALIMPLEMENTATION TfcTrackBarText : public Classes::TPersistent 
  252. {
  253. typedef Classes::TPersistent inherited;
  254. private:
  255. bool FShowText;
  256. TfcTrackBarTextPosition FPosition;
  257. int FOffsetX;
  258. int FOffsetY;
  259. AnsiString FDisplayFormat;
  260. int FTickLabelFrequency;
  261. AnsiString FTickDisplayFormat;
  262. void __fastcall SetFont(Graphics::TFont* Value);
  263. Graphics::TFont* __fastcall GetFont(void);
  264. void __fastcall SetPosition(TfcTrackBarTextPosition Value);
  265. void __fastcall SetOffsetX(int Value);
  266. void __fastcall SetOffsetY(int Value);
  267. void __fastcall SetDisplayFormat(AnsiString Value);
  268. void __fastcall SetShowText(bool Value);
  269. void __fastcall SetTickLabelFrequency(int Value);
  270. void __fastcall SetTickDisplayFormat(AnsiString Value);
  271. public:
  272. TfcTrackBar* Owner;
  273. __fastcall TfcTrackBarText(Classes::TComponent* AOwner);
  274. __published:
  275. __property TfcTrackBarTextPosition Position = {read=FPosition, write=SetPosition, default=0};
  276. __property int OffsetX = {read=FOffsetX, write=SetOffsetX, default=0};
  277. __property int OffsetY = {read=FOffsetY, write=SetOffsetY, default=0};
  278. __property Graphics::TFont* Font = {read=GetFont, write=SetFont};
  279. __property AnsiString DisplayFormat = {read=FDisplayFormat, write=SetDisplayFormat};
  280. __property bool ShowText = {read=FShowText, write=SetShowText, default=0};
  281. __property int TickLabelFrequency = {read=FTickLabelFrequency, write=SetTickLabelFrequency, default=0};
  282. __property AnsiString TickDisplayFormat = {read=FTickDisplayFormat, write=SetTickDisplayFormat};
  283. public:
  284. #pragma option push -w-inl
  285. /* TPersistent.Destroy */ inline __fastcall virtual ~TfcTrackBarText(void) { }
  286. #pragma option pop
  287. };
  288. //-- var, const, procedure ---------------------------------------------------
  289. } /* namespace Fctrackbar */
  290. #if !defined(NO_IMPLICIT_NAMESPACE_USE)
  291. using namespace Fctrackbar;
  292. #endif
  293. #pragma option pop // -w-
  294. #pragma option pop // -Vx
  295. #pragma delphiheader end.
  296. //-- end unit ----------------------------------------------------------------
  297. #endif // fctrackbar