Question and Answer Database FAQ2056D.txt Customizing TTrackBar Category :VCL Platform :All Product :All 32 bit Question: How can I create a trackbar where the track has a thin line on which the slider moves along, rather than a rather big white space which the slider moves along? Answer: The following example demonstrates creating a descendant of the TTrackbar component that overrides the CreateParams method, and clears the TBS_ENABLESELRANGE flag from the params style. This results in a Trackbar component that has a small thin track for the slider to move upon. Note that the TBS_ENABLESELRANGE constant is declared in the CommCtrl unit. Example: uses CommCtrl, ComCtrls; type TMyTrackBar = class(TTrackBar) procedure CreateParams(var Params: TCreateParams); override; end; procedure TMyTrackBar.CreateParams(var Params: TCreateParams); begin inherited; Params.Style := Params.Style and not TBS_ENABLESELRANGE; end; var MyTrackbar : TMyTrackbar; procedure TForm1.Button1Click(Sender: TObject); begin MyTrackBar := TMyTrackbar.Create(Form1); MyTrackbar.Parent := Form1; MyTrackbar.Left := 100; MyTrackbar.Top := 100; MyTrackbar.Width := 150; MyTrackbar.Height := 45; MyTrackBar.Visible := true; end; 7/16/98 4:31:28 PM
Last Modified: 01-SEP-99