Colocar imagem na StatusBar
estou em um projeto em que preciso colocar um led na Status bar no aplicativo. há algum componente que faça isso ou se não como eu faço isso?
Anonymous
Curtidas 0
Respostas
Wcsantos
13/02/2003
Na revista Clube Delphi número 29, no Capítulo que fala sobre o Datacar, o autor explica como adicionar uma imagem ao StatusBar usando o evento OnDrawPanel.
GOSTEI 0
Anonymous
13/02/2003
Adicione um StatusBar e um ImageList no seu Form. Inclua no imagelist a(s) figura(s) que deseja mostrar. Crie panel(s) na sua statusbar e mude a propriedade Style do(s) Panel(s) do StatusBar para psOwnerDraw. Em seguida inclua o codigo abaixo no evento OnDrawPanel do StatusBar:
procedure TForm1.StatusBar1DrawPanel(StatusBar: TStatusBar;
Panel: TStatusPanel; const Rect: TRect);
begin
with StatusBar1.Canvas do begin
FillRect(Rect);
//Definir Font e Style
Font.Name := ´Arial´;
Font.Color := ClNavy;
Font.Style := [FsBold];
//Desenha as imagens de acordo com o indice de cada panel
ImageList1.Draw(StatusBar1.Canvas,Rect.Left+5,Rect.Top+1,Panel.Index);
//Escreve o texto em cada panel
if Panel.Index = 0 then
TextOut(Rect.Left + 25, Rect.Top + 1,´Figura - Panel1´);
if Panel.Index = 1 then
TextOut(Rect.Left + 25, Rect.Top + 1,´Figura - Panel 1´);
if Panel.Index = 2 then
TextOut(Rect.Left + 25, Rect.Top + 1,´Figura - Panel 3´);
end;
end;
procedure TForm1.StatusBar1DrawPanel(StatusBar: TStatusBar;
Panel: TStatusPanel; const Rect: TRect);
begin
with StatusBar1.Canvas do begin
FillRect(Rect);
//Definir Font e Style
Font.Name := ´Arial´;
Font.Color := ClNavy;
Font.Style := [FsBold];
//Desenha as imagens de acordo com o indice de cada panel
ImageList1.Draw(StatusBar1.Canvas,Rect.Left+5,Rect.Top+1,Panel.Index);
//Escreve o texto em cada panel
if Panel.Index = 0 then
TextOut(Rect.Left + 25, Rect.Top + 1,´Figura - Panel1´);
if Panel.Index = 1 then
TextOut(Rect.Left + 25, Rect.Top + 1,´Figura - Panel 1´);
if Panel.Index = 2 then
TextOut(Rect.Left + 25, Rect.Top + 1,´Figura - Panel 3´);
end;
end;
GOSTEI 0