Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-01-2011
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Poder: 23
BlueSteel Va por buen camino
Que parpade un Texto en el StatusBar

Hola estimados..

Quiero hacer parpadear un texto en el StatusBar.... alguien sabe como realizar eso.. o si existe un componente que ya lo hace... bueno, aparte de que sea con un color determinado y cosas así...

me acuerdo que en clipper era muy facil eso....

Salu2
__________________
BlueSteel
Responder Con Cita
  #2  
Antiguo 20-01-2011
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 19
Chris Va por buen camino
En un timer, altera el valor del Caption del Panel del StatusBar, entre un caption vacío y otro que muestre el texto que deseas.
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
  #3  
Antiguo 21-01-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola BlueSteel.

Te pongo un ejemplo que simula un parpadeo cambiando color de fondo y letra, como para darte una idea más:
Código Delphi [-]
...
var
  sw: Boolean = True;

procedure TForm1.FormCreate(Sender: TObject);
begin
  { EJEMPLO CON DOS PANELS }
  StatusBar1.Panels.Add;
  StatusBar1.Panels[0].Text:= 'Hola';
  StatusBar1.Panels[0].Style:= psOwnerDraw;
  StatusBar1.Panels.Add;
  StatusBar1.Panels[1].Text:= 'mundo';
  StatusBar1.Panels[1].Style:= psOwnerDraw;
  StatusBar1.Panels.Add;
  Timer1.Interval:= 500;
end;

procedure TForm1.StatusBar1DrawPanel(StatusBar: TStatusBar;
  Panel: TStatusPanel; const Rect: TRect);
begin
  case Panel.Index of
    0:if sw then    // Panels[0]
      begin
        StatusBar.Canvas.Brush.Color:= clLime;
        StatusBar.Canvas.Font.Color:= clBlack;
      end
      else
      begin
        StatusBar.Canvas.Brush.Color:= clBlack;
        StatusBar.Canvas.Font.Color:= clLime;
      end;
    1:if sw then  // Panels[1]
      begin
        StatusBar.Canvas.Brush.Color:= clRed;
        StatusBar.Canvas.Font.Color:= clYellow;
      end
      else
      begin
        StatusBar.Canvas.Brush.Color:= clYellow;
        StatusBar.Canvas.Font.Color:= clRed;
      end;
   //2:...      // Panels[2]
  end;
  StatusBar.Canvas.FillRect(Rect);
  StatusBar.Canvas.TextOut(Rect.Left,Rect.Top-2, Panel.Text);
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  sw:= not sw;
  StatusBar1.Refresh;
end;
...

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 21-01-2011 a las 00:20:44.
Responder Con Cita
  #4  
Antiguo 21-01-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
El efecto de ecfisa es impresionante pero creo que BlueSteel busca algo mas como esto:
Modificando solo un poco el código del maestro, parpadea el texto:
Código Delphi [-]
procedure TForm1.StatusBar1DrawPanel(StatusBar: TStatusBar;
  Panel: TStatusPanel; const Rect: TRect);
begin
   case Panel.Index of
    0:if sw then    // Panels[0]
      begin
      StatusBar.Font.Color:= clBlack;
      end
      else
      begin
       StatusBar.Canvas.Font.Color:= clBtnFace;
      end;
    1:if sw then  // Panels[1]
      begin
       StatusBar.Canvas.Font.Color:= clRed;
      end
      else
      begin
       StatusBar.Canvas.Font.Color:= clBtnFace;
      end;
   //2:...      // Panels[2]
  end;
  StatusBar.Canvas.FillRect(Rect);
  StatusBar.Canvas.TextOut(Rect.Left,Rect.Top-2, Panel.Text);
end;
Saludos
__________________
Siempre Novato
Responder Con Cita
  #5  
Antiguo 25-01-2011
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Poder: 23
BlueSteel Va por buen camino
Holas

Estaba realizando lo que me indican pero no es mucho lo que aparece, o simplemente no me funca bien...

tengo el siguiente procedimiento que se dispara cuando ocurre una condicion

Código Delphi [-]
procedure TIngreso_Reg.Mensaje_Bloquea;
begin
     sBarra.Panels[0].Text:= 'BLOQUEADO';
     sBarra.Panels[0].Style:= psOwnerDraw;
     Bloquea.Interval:= 500;
end;

y tambien tengo el siguiente codigo para el panel0 del statusbar

Código Delphi [-]
procedure TIngreso_Reg.sBarraDrawPanel(StatusBar: TStatusBar;
  Panel: TStatusPanel; const Rect: TRect);
begin
case Panel.Index of
    0:if sw then    // Panels[0]
      begin
      sBarra.Font.Color:= clBlack;
      end
      else
      begin
       sBarra.Canvas.Font.Color:= clBtnFace;
      end;
  end;
  sBarra.Canvas.FillRect(Rect);
  sBarra.Canvas.TextOut(Rect.Left,Rect.Top-2, Panel.Text);
end;
Ahora, si bien cambia el texto que existe, no hace un parpadeo... y lo que me interesa es realizar un parpadeo más notorio

igual, seguiré intentando...

tambien estoy tratando de que me muestre y oculte una imagen unas 10 veces para que se note el parpadeo, pero no me funciona bien...
gracias
__________________
BlueSteel

Última edición por BlueSteel fecha: 25-01-2011 a las 20:04:05.
Responder Con Cita
  #6  
Antiguo 25-01-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola BlueSteel.

El código que te adjunté funciona correctamente, si lo copias y pegas completo, no deberías tener ningún problema.

Lo que seguramente cambiarás son los colores, ya que son muy "llamativos"


Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 25-01-2011 a las 20:54:16.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Se corta el texto mostrado en la StatusBar Eyewitness Varios 0 22-08-2008 09:29:36
ProgressBar en StatusBar CFPA86 Varios 2 22-02-2007 21:04:58
Statusbar con colores JULIPO Varios 4 04-06-2006 00:22:05
StatusBar. Cambiar color texto Tomás Varios 3 21-07-2005 14:08:47
statusbar y hints urush30 Varios 3 05-08-2004 12:43:55


La franja horaria es GMT +2. Ahora son las 09:02:46.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi