PDA

Ver la Versión Completa : ProgressBar en StatusBar


CFPA86
22-02-2007, 20:37:13
hola amigas y amigas del foro, quisiera que en un panel de un StatusBar pudiera colocar por codigo un ProgressBar, Com lo hago?
Gracias de antemano al que me pudiera colaborar.

seoane
22-02-2007, 21:02:02
En el evento OnDrawPanel del TStatusBar pon algo como esto:

procedure TForm2.StatusBar1DrawPanel(StatusBar: TStatusBar; Panel: TStatusPanel;
const Rect: TRect);
var
i: integer;
R: TRect;
begin
// Aqui coloca el nuemro del panel que se va a comportar como ProgressBar
// yo voy a usar el 0
if StatusBar.Panels[0] = Panel then
if TryStrToInt(Panel.Text,i) then
begin
StatusBar.Canvas.FillRect(Rect);
R:= Rect;
StatusBar.Canvas.Brush.Color:= clNavy;
R.Right:= R.Left + (((R.Right - R.Left)*i) div 100);
StatusBar.Canvas.FillRect(R);
end;
end;


En la propiedad Style del panel coloca psOwnerDraw. Ahora ya solo tienes que escribir en la propiedad Text del panel un numero del 1 al 100, y la barra de se dibujara. Es decir, para poner 50 en la barra:

StatusBar1.Panels[0].Text:= '50';

mierda
22-02-2007, 21:04:58
Me cachis .... mientras que lo buscaba se me ha adelantado :D

por si te sigue valiendo ...

http://delphi.about.com/library/weekly/aa030805a.htm

ta lue