Ver Mensaje Individual
  #4  
Antiguo 19-01-2009
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Reputación: 24
Caro Va por buen camino
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;
 //Esta línea para la imagen de cada TabSheet
 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
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.

Última edición por Caro fecha: 19-01-2009 a las 17:45:45.
Responder Con Cita