Fórum Panels do StatusBar (mudar Cor, Fonte, e troca de texto)? #330116
26/09/2006
0
Usei esse codigo que busquei no Help do Delphi para fazer o Panel em Negrito e em cor Vermelha, pois eh o unico que vai ficar em vermelho os outros panels nao vai precisar mudar, ou seja vai ficar normal.
O codigo para mudar a cor/fonte do Panel do StatusBar
procedure TFConta.SBarDrawPanel(StatusBar: TStatusBar; Panel: TStatusPanel; const Rect: TRect); begin with SBar.Canvas do begin Font.Style := [FsBold]; if Panel.Index = 0 then Font.Color := clRed; TextOut(Rect.Left + Font.Size, Rect.Top + 1, ´Parado...´); end; end;
Funciona sem problemas mais agora o problema esta aqui nesta linha
[b:5decd74312]TextOut(Rect.Left + Font.Size, Rect.Top + 1, ´Parado...´);[/b:5decd74312] Quero deixar o StatusBar com esse texto quando nao tiver fazendo nada. Tambem nao esta aqui o problema, mais esta aqui no botao incluir veja:
[b:5decd74312]procedure TFConta.b1Click(Sender: TObject);
begin
if e10.text = ´´ then begin
beep;
showmessage(´Campo ano não pode ficar em branco, favor preencher o ano da contabilidade´);
e10.setfocus;
end else begin
MaskEdit1.setfocus;
SBar.Panels[0].Text := ´Incluindo...´;
end;[/b:5decd74312]
[color=red:5decd74312] SBar.Panels.Text := ´Incluindo...´;[/color:5decd74312]
Essa linha em vermelho no codigo;
Quero que na hora de clicar no botao incluir a mensagem [b:5decd74312]Parado[/b:5decd74312] substitua por [b:5decd74312]Incluindo[/b:5decd74312]
Serah que tem algo haver pq troquei a propriedade Style do Panel do StatusBar de psText para psOwnerDraw? Pois se eu nao trocar para psOwnerDraw essa linha [b:5decd74312]TextOut(Rect.Left + Font.Size, Rect.Top + 1, ´Parado...´);[/b:5decd74312] nao surte efeito.
Pois vou precisar que o statusbar receba alem da mensagem [b:5decd74312]parado, incluindo outros tambem tipo abortado, excluindo, etc...tudo em tempo de execuçao.[/b:5decd74312]
Adriano_servitec
Curtir tópico
+ 0Posts
26/09/2006
Massuda
Ao invés de fazer isso, faça TFConta.SBarDrawPanel escrever o texto especificado em Panel.Text (lembre de iniciar Panel.Text com ´Parado´).
Gostei + 0
26/09/2006
Adriano_servitec
O problema eh substituir, ai eh que eu nao sei como fazer. :D
Gostei + 0
26/09/2006
Massuda
procedure TFConta.SBarDrawPanel(StatusBar: TStatusBar; Panel: TStatusPanel; const Rect: TRect); begin with SBar.Canvas do begin Font.Style := [FsBold]; if Panel.Index = 0 then Font.Color := clRed; TextOut(Rect.Left + Font.Size, Rect.Top + 1, Panel.Text); end; end;
Gostei + 0
27/09/2006
Adriano_servitec
procedure TFConta.SBarDrawPanel(StatusBar: TStatusBar; Panel: TStatusPanel; const Rect: TRect); begin with SBar.Canvas do begin Font.Style := [FsBold]; if Panel.Index = 0 then Font.Color := clRed; TextOut(Rect.Left + Font.Size, Rect.Top + 1, Panel.Text); end; end;
Ai guri, erra isso mesmo, muito obrigado pela grande ajuda, simples de resolver mais eu nao sabia...hehehehe.... :D
Obrigado Massuda.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)