FRTrackBarEdit.pas 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. //
  2. // This unit is part of the GLScene Project, http://glscene.org
  3. //
  4. {
  5. Frame combining a TrackBar and an Edit.
  6. }
  7. unit FRTrackBarEdit;
  8. interface
  9. {$I Stage.Defines.inc}
  10. uses
  11. System.Classes,
  12. System.SysUtils,
  13. VCL.Forms,
  14. VCL.StdCtrls,
  15. VCL.ComCtrls,
  16. VCL.Controls;
  17. type
  18. TRTrackBarEdit = class(TFrame)
  19. TrackBar: TTrackBar;
  20. Edit: TEdit;
  21. procedure TrackBarChange(Sender: TObject);
  22. procedure EditChange(Sender: TObject);
  23. private
  24. procedure SetValue(const val : Integer);
  25. function GetValue : Integer;
  26. procedure SetValueMin(const val : Integer);
  27. function GetValueMin : Integer;
  28. procedure SetValueMax(const val : Integer);
  29. function GetValueMax : Integer;
  30. public
  31. property Value : Integer read GetValue write SetValue;
  32. property ValueMin : Integer read GetValueMin write SetValueMin;
  33. property ValueMax : Integer read GetValueMax write SetValueMax;
  34. end;
  35. //---------------------------------------------------------------------
  36. implementation
  37. //---------------------------------------------------------------------
  38. {$R *.dfm}
  39. procedure TRTrackBarEdit.TrackBarChange(Sender: TObject);
  40. begin
  41. Edit.Text:=IntToStr(TrackBar.Position);
  42. end;
  43. procedure TRTrackBarEdit.EditChange(Sender: TObject);
  44. var
  45. i : Integer;
  46. begin
  47. try
  48. i:=StrToInt(Edit.Text);
  49. TrackBar.Position:=i;
  50. except
  51. // ignore
  52. end;
  53. end;
  54. procedure TRTrackBarEdit.SetValue(const val : Integer);
  55. begin
  56. TrackBar.Position:=val;
  57. TrackBarChange(Self);
  58. end;
  59. function TRTrackBarEdit.GetValue : Integer;
  60. begin
  61. Result:=TrackBar.Position;
  62. end;
  63. procedure TRTrackBarEdit.SetValueMax(const val : Integer);
  64. begin
  65. TrackBar.Max:=val;
  66. TrackBarChange(Self);
  67. end;
  68. function TRTrackBarEdit.GetValueMax : Integer;
  69. begin
  70. Result:=TrackBar.Max;
  71. end;
  72. procedure TRTrackBarEdit.SetValueMin(const val : Integer);
  73. begin
  74. TrackBar.Min:=val;
  75. TrackBarChange(Self);
  76. end;
  77. function TRTrackBarEdit.GetValueMin : Integer;
  78. begin
  79. Result:=TrackBar.Min;
  80. end;
  81. end.