FAQ VCL
Компоненты\TrackBar

:: Меню ::
:: На главную ::
:: FAQ ::
:: Заметки ::
:: Практика ::
:: Win API ::
:: Проекты ::
:: Скачать ::
:: Секреты ::
:: Ссылки ::

:: Сервис ::
:: Написать ::

:: MVP ::

:: RSS ::

Яндекс.Метрика

Как создать TrackBar, в котором вместо широкой белой полоски с ползунком была бы тонкая линия?

// В примере создается компонент, унаследованный от TTrackbar
// который переопределяет метод CreateParams и убират флаг
// TBS_ENABLESELRANGE из Style. Константа TBS_ENABLESELRANGE
// обьявлена в модуле CommCtrl

uses 
  {...,} CommCtrl, ComCtrls;

type TMyTrackBar = class(TTrackBar)
  public 
    procedure CreateParams(var Params: TCreateParams); override;
  end;

var
  Form1: TForm1;
  MyTrackbar: TMyTrackbar;

implementation

{ TMyTrackBar }

procedure TMyTrackBar.CreateParams(var Params: TCreateParams);
begin
   inherited;
   Params.Style := Params.Style and not TBS_ENABLESELRANGE;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
   MyTrackBar := TMyTrackbar.Create( Form1 );
   MyTrackbar.Parent := Form1;
   MyTrackbar.Left := 10;
   MyTrackbar.Top := 10;
   MyTrackbar.Width := 150;
   MyTrackbar.Height := 45;
   MyTrackBar.Visible := true;
end;

При использовании материала - ссылка на сайт обязательна