Tema: status bar
Ver Mensaje Individual
  #2  
Antiguo 10-02-2009
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.441
Reputación: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
¡Qué toca-pelotas, tu jefe! ¿No?
Supongo que la única opción es hacer el pintado tú de forma manual.
Este código lo he encontrado por Internet (no es mio); A ver si te sirve o te da una idea de cómo hacerlo.

Código Delphi [-]
procedure TfrmSubscription.StatusBarDrawPanel(vStatusBar: TStatusBar;
  Panel: TStatusPanel; const Rect: TRect);
var OldColor, OldBrushColor : TColor;
    OldStyle : TFontStyles;
begin
  inherited;
  if Panel.Index = 0 then begin
    with StatusBar.Canvas do begin
      // store off the original settings
      OldColor := Font.Color;
      OldStyle := Font.Style;
      OldBrushColor := Brush.Color;
      try
        // set the Brush Color
        case SubStatus of
          stExpired: Brush.Color := clTeal;
          stCanceled: Brush.Color := clLime;
          else Brush.Color := clBtnFace;
        end;  // case SubStatus of

        // fill the panel with the brush color (ie background color)
        FillRect(Rect);

        // set the text font color / style
        Font.Color := clRed;
        Font.Style := [fsBold];

        //display the text from the panel
        TextOut(Rect.Left + 3, Rect.Top, Panel.Text);

      finally  // restore the original settings
        Font.Color := OldColor;
        Font.Style := OldStyle;
        Brush.Color := OldBrushColor;
      end;  // try/finally
    end;  // with StatusBar.Canvas do begin
  end; // if Panel.Index = 0 then begin
end;
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita