Mudar a cor de uma tabsheet delphi
19/05/2022
0
o codigo a baixo foi testado e não deu certo
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;
Victor Hugo
Posts
20/05/2022
Natanael Ferreira
Para que seu código funcione altere a propriedade OwnerDraw do PageControl para True e coloque este seu código no evento OnDrawTab do PageControl.
Testa aí.
20/05/2022
Victor Hugo
Para que seu código funcione altere a propriedade OwnerDraw do PageControl para True e coloque este seu código no evento OnDrawTab do PageControl.
Testa aí.
20/05/2022
Victor Hugo
Para que seu código funcione altere a propriedade OwnerDraw do PageControl para True e coloque este seu código no evento OnDrawTab do PageControl.
Testa aí.
08/01/2024
João Costa
08/01/2024
Arthur Heinrich
type TForm1 = class(TForm) PageControl1: TPageControl; TabSheet1: TTabSheet; TabSheet2: TTabSheet; procedure PageControl1DrawTab(Control: TCustomTabControl; TabIndex: Integer; const Rect: TRect; Active: Boolean); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.PageControl1DrawTab(Control: TCustomTabControl; TabIndex: Integer; const Rect: TRect; Active: Boolean); begin Control.Canvas.Brush.Color:=clBlue; Control.Canvas.Brush.Style:=bsSolid; Control.Canvas.Font.Color:=clWhite; Control.Canvas.FillRect(Rect); Control.Canvas.TextOut(Rect.Left+2,Rect.Top+2,(Control as TPageControl).ActivePage.Caption); end;
Clique aqui para fazer login e interagir na Comunidade :)