Fórum Imagem na status bar #222450
25/03/2004
0
Alguem poderia me ajudar?
Gostaria de saber como adicionar uma imagem à um painel de uma statusbar.
Desde já, muito obrigado!
Gostaria de saber como adicionar uma imagem à um painel de uma statusbar.
Desde já, muito obrigado!
Raimundo
Curtir tópico
+ 0
Responder
Posts
25/03/2004
Sdph
procedure TFrm_Principal.BarraStatusDrawPanel(StatusBar: TStatusBar;
Panel: TStatusPanel; const Rect: TRect);
begin
Case Panel.Index of
0 : BarraStatus.Canvas.Font.Color := clNavy;
1 : BarraStatus.Canvas.Font.Color := clNavy;
2 : BarraStatus.Canvas.Font.Color := clNavy;
3 : BarraStatus.Canvas.Font.Color := clNavy;
end;
Case Panel.Index of
3 : BarraStatus.Canvas.Font.Style := [fsbold];
end;
Case Panel.Index of
0 : BarraStatus.Canvas.Font.Size := 10;
1 : BarraStatus.Canvas.Font.Size := 10;
2 : BarraStatus.Canvas.Font.Size := 10;
3 : BarraStatus.Canvas.Font.Size := 10;
end;
ImagemBarra.Draw(BarraStatus.Canvas,Rect.Left+1,Rect.Top+1,Panel.Index);
BarraStatus.Canvas.TextOut(Rect.Left +25, Rect.Top,Panel.Text);
end;
Panel: TStatusPanel; const Rect: TRect);
begin
Case Panel.Index of
0 : BarraStatus.Canvas.Font.Color := clNavy;
1 : BarraStatus.Canvas.Font.Color := clNavy;
2 : BarraStatus.Canvas.Font.Color := clNavy;
3 : BarraStatus.Canvas.Font.Color := clNavy;
end;
Case Panel.Index of
3 : BarraStatus.Canvas.Font.Style := [fsbold];
end;
Case Panel.Index of
0 : BarraStatus.Canvas.Font.Size := 10;
1 : BarraStatus.Canvas.Font.Size := 10;
2 : BarraStatus.Canvas.Font.Size := 10;
3 : BarraStatus.Canvas.Font.Size := 10;
end;
ImagemBarra.Draw(BarraStatus.Canvas,Rect.Left+1,Rect.Top+1,Panel.Index);
BarraStatus.Canvas.TextOut(Rect.Left +25, Rect.Top,Panel.Text);
end;
Responder
Gostei + 0
25/03/2004
Fabio.hc
Tente assim:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ImgList, ComCtrls;
type
TForm1 = class(TForm)
StatusBar1: TStatusBar;
ImageList1: TImageList;
procedure StatusBar1DrawPanel(StatusBar: TStatusBar;
Panel: TStatusPanel; const Rect: TRect);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
{Adicione um StatusBar e um ImageList, iclua no imagelist as figuras que deseja
mostrar apos mude a propriedade Style dos Panels 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,´Panel 1´);
if Panel.Index = 1 then
TextOut(Rect.Left + 25, Rect.Top + 1,´Panel 2´);
if Panel.Index = 2 then
TextOut(Rect.Left + 25, Rect.Top + 1,´Panel 3´);
end;
end;
end.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)