PDA

Ver la Versión Completa : Color del Caption en un TabSheet


JoseFco
19-10-2008, 21:53:59
"Tolomeo se mudo al Polo Norte"

TOPX
19-10-2008, 22:20:29
Hola,

http://www.clubdelphi.com/foros/showthread.php?t=40795

Caro
19-10-2008, 23:38:00
Hola Jose, también lo puedes hacer de esta forma, utilizando la función DrawText para darle formato al texto.


procedure TForm1.PageControl1DrawTab(Control: TCustomTabControl;
TabIndex: Integer; const Rect: TRect; Active: Boolean);
var
Re : TRect;
Titulo : String;
begin
Titulo := PageControl1.Pages[TabIndex].Caption;
Re := Rect;

if Active then
PageControl1.Canvas.Font.Color := clRed
else
PageControl1.Canvas.Font.Color := clBlack;

DrawText(
PageControl1.Canvas.Handle, PChar(Titulo), Length(Titulo), Re,
DT_CENTER or DT_VCENTER or DT_SINGLELINE);
end;


El parametro Active te indica si ese TabSheet esta activo si es asi pinta de rojo, otra cosita debes colocar a True la propiedad OwnerDraw del PageControl para que haga el pintado, en el otro hilo no estaba especificado eso.

Si quieres que todos se pinten de un color entonces le quitas la condición y paar no repetir PageControl1 utilizas With.

Saluditos

JoseFco
20-10-2008, 00:30:09
"Tolomeo se mudo al Polo Norte"

Caro
20-10-2008, 03:13:39
Es cosa de ir jugando con los colores y las posiciones.


No te estoy entendiendo muy bien, que es lo que no te satisface, si quieres pintar cada caption de los tabSheet de diferente color, puedes utilizar el parametro TabIndex.


................
Re := Rect;

Case TabIndex of
0 : PageControl1.Canvas.Font.Color := clRed;
1 : PageControl1.Canvas.Font.Color := clYellow;
2 : PageControl1.Canvas.Font.Color := clGreen;
else
PageControl1.Canvas.Font.Color := clBlack;
end;

DrawText(
PageControl1.Canvas.Handle, PChar(Titulo), Length(Titulo), Re,
DT_CENTER or DT_VCENTER or DT_SINGLELINE);


Saluditos

JoseFco
20-10-2008, 13:25:20
"Tolomeo se mudo al Polo Norte"

JoseFco
20-10-2008, 22:09:35
"Tolomeo se mudo al Polo Norte"

JoseFco
25-10-2008, 13:52:11
"Tolomeo se mudo al Polo Norte"

JoseFco
26-10-2008, 22:29:33
"Tolomeo se mudo al Polo Norte"

JoseFco
27-10-2008, 20:13:19
"Tolomeo se mudo al Polo Norte"