Buscar

Mudar a cor apenas da

Código

Uma dica semelhante a esta já existe no site, mas esta aqui, com algumas modificações, serve para colorir apenas as "abas" dos TabSheets no Pagecontrol, deixando seu pagecontrol com um efeito semelhante ao efeito conseguido nas abas do Navegador de Internet FireFox.

No evento DrawTab do seu pagecontrol adicione as seguintes linhas:

case TabIndex of      //quantidade de pages(abas) que terá seu pagecontrol.
 0: Control.Canvas.brush.Color:=clgreen;
 1: Control.Canvas.brush.Color:=clred;
 2: Control.Canvas.brush.Color:=clblue;
 3: Control.Canvas.brush.Color:=clYellow;
 4: Control.Canvas.Font.Color:=clMaroon;
 5: Control.Canvas.Font.Color:=clWhite;
end;
Control.Canvas.FillRect( Rect );
Pagecontro1.canvas.font.color:=clblue;     //cor da aba do tabsheet
Control.Canvas.TextOut(Rect.left+2,Rect.top+2,TTabSheet(PageControl1.Pages[tabindex]).Caption);
PageControl1.Pages[TabIndex].Font.Color:=clblack;     //cor da fonte na "page" inteiira.
--------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------
Obs.: não se esqueça de colocar a propriedade "OwnerDraw" do pagecontrol em questão como true. Ou simplesmente adicoone esta linha abaixo no formcreate do seu formulário.

procedure TForm1.FormCreate(Sender: TObject);
begin
PageControl1.OwnerDraw:=true;
end;
 

Publicidade

Vote na dica




Quantidade de votos: 0 votos
Aceitação: 0%


Detalhes da dica

Categoria: Forms
Adicionada dia: 03/11/07
Por: Warlei Klecius Pereira
Visualizada: 8481 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009