Mudar a cor apenas das abas dos TabSheets
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 );
PageControl1.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;
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo