Sources
Delphi Russian Knowledge Base
DRKB - это самая большая и удобная в использовании база знаний по Дельфи в рунете, составленная Виталием Невзоровым

Как выбрать цвет пользуя TTrackBar?

01.01.2007

Drop three TrackBars on a form. Set Min to 0, Max to 255. Drop a TImage on the form. Then try this code:

{ ... }
var
  Form1
: TForm1;
 
MyColor: LongWord;
 
RedColor: LongWord = $00000000;
 
GreenColor: LongWord = $00000000;
 
BlueColor: LongWord = $00000000;
 
implementation
 
{$R *.DFM}
 
procedure TForm1
.FormCreate(Sender: TObject);
begin
 
DoImageFill;
end;
 
procedure TForm1
.DoImageFill;
begin
 
MyColor := RedColor or GreenColor or BlueColor;
  Image1
.Canvas.Brush.Color := TColor(MyColor);
  Image1
.Canvas.FillRect(Rect(0, 0, Image1.Width, Image1.Height));
end;
 
procedure TForm1
.RedBarChange(Sender: TObject);
begin
 
RedColor := RedBar.Position;
 
DoImageFill;
end;
 
procedure TForm1
.GreenBarChange(Sender: TObject);
begin
 
GreenColor := GreenBar.Position shl 8;
 
DoImageFill;
end;
 
procedure TForm1
.BlueBarChange(Sender: TObject);
begin
 
BlueColor := BlueBar.Position shl 16;
 
DoImageFill;
end;
 
end.

Each color value ranges from 0 to 255. Set the three trackbars with this range. You can use the RGB function to create a color from these values.

{ ... }
type
  TForm1
= class(TForm)
    redTrackBar
: TTrackBar;
    greenTrackBar
: TTrackBar;
    blueTrackBar
: TTrackBar;
    Panel1
: TPanel;
    procedure blueTrackBarChange
(Sender: TObject);
    procedure greenTrackBarChange
(Sender: TObject);
    procedure redTrackBarChange
(Sender: TObject);
 
public
   
{ Public declarations }
    procedure
ChangeColor;
 
end;
 
procedure TForm1
.ChangeColor;
begin
  Panel1
.Color := RGB(redTrackBar.Position, greenTrackBar.Position, blueTrackBar.Position);
end;
 
procedure TForm1
.blueTrackBarChange(Sender: TObject);
begin
 
ChangeColor;
end;
 
procedure TForm1
.greenTrackBarChange(Sender: TObject);
begin
 
ChangeColor;
end;
 
procedure TForm1
.redTrackBarChange(Sender: TObject);
begin
 
ChangeColor;
end;

Взято с Delphi Knowledge Base: https://www.baltsoft.com/