GARANTIR DESCONTO

Fórum Panels do StatusBar (mudar Cor, Fonte, e troca de texto)? #330116

26/09/2006

0

Bom pessoal, eh o seguinte, estou querendo usar um status bar com alguns panels aonde vai alguns dados, porem travou agora o problema de mudar de cor em um panel do status bar pra ser exato o panel [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

Adriano_servitec

Responder

Posts

26/09/2006

Massuda

Seu TFConta.SBarDrawPanel está sempre escrevendo ´Parado´.

Ao invés de fazer isso, faça TFConta.SBarDrawPanel escrever o texto especificado em Panel.Text (lembre de iniciar Panel.Text com ´Parado´).


Responder

Gostei + 0

26/09/2006

Adriano_servitec

Sim ele esta com o testo somente assim [b:d79285b394]Parado...[/b:d79285b394]

Ao invés de fazer isso, faça TFConta.SBarDrawPanel escrever o texto especificado em Panel.Text (lembre de iniciar Panel.Text com ´Parado´).


O problema eh substituir, ai eh que eu nao sei como fazer. :D


Responder

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;
Mude o valor de .Text do panel desejado do status bar que ele deve ser escrito corretamente.


Responder

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;
Mude o valor de .Text do panel desejado do status bar que ele deve ser escrito corretamente.


Ai guri, erra isso mesmo, muito obrigado pela grande ajuda, simples de resolver mais eu nao sabia...hehehehe.... :D

Obrigado Massuda.


Responder

Gostei + 0

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

Aceitar