Cor na Aba do TabSheet ??????

27/07/2004

0

Pessoal,

Boa Tarde!
É possível mudar a cor do componente TabSheet? quando mudo a cor dele tudo bem mais a aba(orelhinha) continua com a cor default, voçês sabem de alguma propriedade onde possa mudar a cor?
Já conversei com várias pessoas e nada. Será que é um bug do Delhi?
Agradeço desde já!


Mmbarros

Mmbarros

Responder

Posts

27/07/2004

Motta

Segue o padrão windows, não muda que eu saiba, talvez indo no canvas.


Responder

28/07/2004

Fabio.hc

Tente assim:

Coloque este evento em todas as TabSheet´s. Destaca a TabSheet selecionada.
procedure TForm1.TabSheet1Hide(Sender: TObject);
begin
   (sender as TTabSheet).Highlighted:=false;
end;

procedure TForm1.TabSheet1Show(Sender: TObject);
begin
   (sender as TTabSheet).Highlighted:=true;
end;



Responder

28/07/2004

Emerson Nascimento

pra mudar a cor da ´orelha´, altere a propriedade OwnerDraw do PageControl para True e atribua as alterações no evento OnDrawTab.


Responder

28/07/2004

Mmbarros

OK Emerso.en a aba recebe a cor porém não exibe o caption do TabSheet... De qualquer forma muito obrigado pela dica!


Responder

28/07/2004

Emerson Nascimento

procedure TForm1.PageControl1DrawTab(Control: TCustomTabControl; TabIndex: Integer; const Rect: TRect; Active: Boolean);
begin
    if Active then
    begin
        Control.Canvas.Font.Color := clWhite;
        Control.Canvas.Brush.Color := clBlue;
    end
    else
    begin
        Control.Canvas.Brush.Color := clWindowText;
        Control.Canvas.Brush.Color := clBtnFace;
    end;

    Control.Canvas.FillRect( Rect );
    Control.Canvas.TextOut( Rect.Left+5,Rect.Top+4,TTabSheet(PageControl1.Pages[TabIndex]).Caption );
end;


Responder

27/02/2023

Sérgio Siqueira

FCorTabSelecionada,
FCorTabNaoSelecionada: TColor;


FCorTabSelecionada := $00E6DEF7;
FCorTabNaoSelecionada := clWhite;

procedure TfrmPrincipal.pcPrincipalDrawTab(Control: TCustomTabControl;
TabIndex: Integer; const Rect: TRect; Active: Boolean);

function ObterCor(Tab: Integer): TColor;
begin
if (pcPrincipal.TabIndex = TabIndex) then
Result := CorTabSelecionada
else
Result := FCorTabNaoSelecionada;
end;

begin
inherited;
Control.Canvas.Brush.Color := ObterCor(TabIndex);
Control.Canvas.FillRect(Rect);
pcPrincipal.canvas.font.color:=clBlack;
Control.Canvas.TextOut(Rect.left+2,Rect.top+2,TTabSheet(pcPrincipal.Pages[tabindex]).Caption);
pcPrincipal.Pages[TabIndex].Font.Color:=clblack;
end;

Marque a propriedade OwnerDraw no objecto inspector como true.

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar