Suponiendo que es el pageControl, puedes leer este hilo
http://www.clubdelphi.com/foros/show...08&postcount=4 , ahora lo que faltaría es añadir la imagen a cada TabSheet y cambiar a un color mas fuerte cuando esta activo y uno mas bajo cuando no esta activo.
Modificando y aumentando sobre el codigo que comento en el hilo que te he mencionado quedaría así:
Código Delphi
[-]
procedure TForm1.PageControl1DrawTab(Control: TCustomTabControl;
TabIndex: Integer; const Rect: TRect; Active: Boolean);
var
Re : TRect;
Titulo : String;
begin
Re := Rect;
Titulo := PageControl1.Pages[TabIndex].Caption;
if Active then
begin
Control.Canvas.Font.Style := [fsBold];
Control.Canvas.Font.Color := clRed;
Control.Canvas.Brush.Color := clYellow;
end
else
begin
Control.Canvas.Font.Color := clBlack;
Control.Canvas.Brush.Color := $00B9FFFF;
end;
Control.Canvas.FillRect(Re);
PageControl1.Pages[TabIndex].Brush.Color:=Control.Canvas.Brush.Color;
ImageList1.Draw(Control.Canvas,Rect.Left,Rect.Top, PageControl1.Pages[TabIndex].ImageIndex);
DrawText(
Control.Canvas.Handle, PChar(Titulo), Length(Titulo), Re,
DT_CENTER or DT_VCENTER or DT_SINGLELINE);
end;
Para que funcione lo anterior necesitas un ImageList, ahí añades tus imagenes y le asiganas al PageControl.
Nota.- El problema que menciono en el hilo sobre la primera vez que se pinta no esta solucionado.
Saluditos