Ver Mensaje Individual
  #2  
Antiguo 03-06-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Reputación: 24
seoane Va por buen camino
Puedes hacer algo como esto, en la propiedad Style del panel pones psOwnerDraw y en el evento OnDrawPanel del Statusbar colocas esto:

Código Delphi [-]
procedure TForm1.StatusBar1DrawPanel(StatusBar: TStatusBar;
  Panel: TStatusPanel; const Rect: TRect);
begin
  if Uppercase(Panel.Text) = 'EN LINEA' then
    Statusbar.Canvas.Brush.Color:= clGreen
  else
    Statusbar.Canvas.Brush.Color:= clRed;
  Statusbar.Canvas.FillRect(Rect);
  Statusbar.Canvas.TextRect(Rect,4,4,Panel.Text);
end;

De esta manera somos nosotros lo encargados de dibujar el panel, primero ajustamos el color de fondo y pintamos todo el area del panel, luego tenemos que escribir el texto (juega con los valores para que el texto quede bien centrado).

Código Delphi [-]
// Esto pone el panel de color verde
Statusbar1.Panels[0].Text:= 'En linea';
// Esto pone el panel de color rojo
Statusbar1.Panels[0].Text:= 'Cualquier otro texto';

Última edición por seoane fecha: 03-06-2006 a las 20:00:58.
Responder Con Cita