Statusbar - ownerdraw |
Top Previous Next |
Basicamente, via programação, vc precisa de quatro passos :
1) Definir a propriedade Style como psOwnerDraw no painel (TPanel) do StatusBar q deseja colocar a Progress;
2) Colocar um TProgressBar no Form e ajustar seu tamanho para o mesmo tamanho do Painel(opcionalmente vc pode desenhar diretamente no Panel, ñ recomendo isso no inicio);
3) No envento OnDrawPanel do StatusBar vc inclui uma atribuir como abaixo :
procedure TForm1.StatusBarDrawPanel(StatusBar: TStatusBar; Panel: TStatusPanel; const Rect: TRect); begin with StatusBar.Canvas do case Panel.Index of indProgress: // constante com o indice do Painel begin pBar.PaintTo(Handle,Rect.Left,3); end; indLock: // inclui uma imagem qualquer, aqui um ícone if Assigned(dmValEntrada) and dmValEntrada.NivelSeguranca then ImageList.Draw(StatusBar.Canvas,Rect.Left-1, Rect.Top-2,indImagLock) else FillRect(Rect); end; end; |