como colorir o texto do StatusBar

Delphi

11/07/2012

ola pessoal, coloquei um statusbar no meu sistema, e dividi em varios panels, minha duvida e tenho como colorir o texto de cada panel que eta no statusbar

ja tentei mas não consegui
Edson Melo

Edson Melo

Curtidas 0

Respostas

Eduardo Silva.

Eduardo Silva.

11/07/2012

Por padrão a propriedade Style do TSatatusBar é stText, significando que a seqüência de caracteres contida na propriedade Text é exibida no painel de status, usando o alinhamento especificado no ObjectInspector.

Para mudar a cor da Fonte, Estilo ou até mesmo exibir uma Imagem, você precisa utilizar o evento OnDrawPanel da TStatusBar.

Se o estilo é definido como psOwnerDraw, o conteúdo exibido no painel de status é desenhado em tempo de execução.

Veja o exemplo:

procedure TForm1.FormCreate(Sender: TObject);
begin
// Mudança de estilo de desenho do StatusBar
StatusBar1.Panels[0].Style := psOwnerDraw;
StatusBar1.Panels[1].Style := psOwnerDraw;
StatusBar1.Panels[2].Style := psOwnerDraw;
end;

procedure TForm1.StatusBar1DrawPanel(StatusBar: TStatusBar; Panel: TStatusPanel;
const Rect: TRect);
begin
with StatusBar.Canvas do
begin
case Panel.Index of
0: // Primeiro Panel
begin
Font.Color := clNavy;
Font.Style := [fsBold];
end;
1: // Segundo panel
begin
Font.Color := clRed;
Font.Style := [fsBold];
end;
2: // Terceiro panel
begin
Font.Color := clBlue;
Font.Style := [fsBold];
end;
end;
FillRect(Rect);
// Alinhamento do Texto, para modificar altere os números
TextRect(Rect, 2 + Rect.Left, 0 + Rect.Top, Panel.Text);
end;
end;

end.

Ref.: http://delphi.about.com/od/vclusing/a/statusbar_owner.htm

Boa Sorte!

Eduardo Belo






GOSTEI 0
Edson Melo

Edson Melo

11/07/2012

obrigado eduardo, estou em uma lan house e vou testar sua dica , se funcionar te responso , obrigado

atenciosamente

edson garcia de melo
GOSTEI 0
Edson Melo

Edson Melo

11/07/2012

eduardo funcionou do jeito que eu queria muito obrigado

atenciosamente

edson garcia de melo
GOSTEI 0
POSTAR