Ir para conteúdo
Fórum Script Brasil
  • 0

Cor No Pagecontrol


Paulo Nobre

Pergunta

A cor das abas do componente pagecontrol, me parece ,serem sempre iguais a cor "oficial do sistema". Existe alguma maneira de colocar estas abas com a mesma cor que foi escolhida para o form? Não achei nenhuma propriedade para mudar a cor.

Paulo Nobre

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Na verdade a propriedade color é Published em TControl e não aparece nem no PageControl e nem nas TabSheets.

O que você pode fazer é derivar uma classe de TControl e utilizar o cast.

Ative a propriedade OwnerDraw e utilize o evento onDrawTab também.

type tmControl = class(TControl);

procedure TForm1.FormCreate(Sender: TObject);
var i:Integer;
begin
  PageControl1.OwnerDraw := true;
  for i := 0 to PageControl1.PageCount-1 do
    TmControl(PageControl1.Pages[i]).Color := clAqua;
  TmControl(PageControl1).Color := clBlack;
  TmControl(PageControl1).Font.Color := clYellow;
end;

procedure TForm1.PageControl1DrawTab(Control: TCustomTabControl;
  TabIndex: Integer; const Rect: TRect; Active: Boolean);
var PC:TPageControl;
begin
  PC := TPageControl(Control);
  PC.Canvas.TextOut(Rect.left+5,Rect.top+3,PC.Pages[tabindex].Caption);
end;

Link para o comentário
Compartilhar em outros sites

  • 0

s3c, valeu e muito obrigado!

Mais uma vez você nos passando sua experiência e nos ajudando a aprender um pouco mais desta maravilhosa ferrramenta, que é o DELPHI. smile.gif

Você poderia dizer o que significa CAST, neste caso?

Paulo Nobre

Link para o comentário
Compartilhar em outros sites

  • 0

Um cast é um renomeio do tipo que você utiliza.

Por exemplo se você quiser fechar um formulário no click de um botão:

procedure TForm1.Button1Click(Sender:TObject);
begin
  // você sabe que o Sender é um TButton, assim como seu Owner é um TForm
  // então você faz dois Casts:
 TForm(TButton(Sender).Owner).Close;
end;

É claro que no exemplo acima era só executar Close, mas se você criar um Form em execução e colocar um botão para fechá-lo, então você tem que utilizar os dois Casts; um para o TButton e outro para o TForm.

Link para o comentário
Compartilhar em outros sites

  • 0
Guest Jean Fernandes

Colega

Se dispuser de algum dinheiro tente comprar uma VCL chamada Raize, creio eu que esteja na versao 3.x. Ela é excelente para desenvolver IHM.

t+

Jean

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,9k
×
×
  • Criar Novo...