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 04-08-2004
urush30 urush30 is offline
Miembro
 
Registrado: dic 2003
Posts: 10
Poder: 0
urush30 Va por buen camino
Lightbulb statusbar y hints

hola, mi pregunta es la siguiente, yo quiero mostrar el longhint en el statusbar pero lo quiero hacer de la manera siguiente:
1) Mientras el hint este visible en la pantalla el statusbar debera tener la propiedad simplepanel a verdadero y con el texto del longhint.
2) Cuando el hint este desactivado la propiedad simplepanel a falso porque en el statusbar tengo que mostrar otra informacion.

¿Como se puede hacer esto? ¿Hay algun evento que se pueda aplicar?

Gracias.
Responder Con Cita
  #2  
Antiguo 04-08-2004
Avatar de ruina
ruina ruina is offline
Miembro
 
Registrado: jun 2004
Posts: 196
Poder: 20
ruina Va por buen camino
sip, con ApplicationEvents (en la paleta, pestaña aditional) tienes controlado el evento OnShowHint, el único problema que le veo es que no tienes un OnHideHint, la solución que se me ocurre es poner un timer con el HideTimeout para volver a mostrar la información en varios paneles. Ma o o meno seria:

Código Delphi [-]
procedure TForm1.ApplicationEvents1ShowHint(var HintStr: String;
  var CanShow: Boolean; var HintInfo: THintInfo);
begin
    StatusBar1.SimplePanel:=true;
    StatusBar1.SimpleText:=HintStr;
    Timer1.Enabled:=false;
    Timer1.Interval:= HintInfo.HideTimeout;
    Timer1.Enabled:=true;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
    StatusBar1.SimplePanel:=false;
    StatusBar1.Panels[0].Text:='feo';
    Timer1.Enabled:=false;
end;

Con el timer inicializado a false y el statusBar con paneles creados.
__________________
todo el mundo debe creer en algo... yo creo que voy a tomarme otra copa.
Responder Con Cita
  #3  
Antiguo 04-08-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Me parece que basta usar el evento OnHint de ApplicationEvents:

Código Delphi [-]
procedure TForm1.ApplicationEvents1Hint(Sender: TObject);
begin
  StatusBar1.SimpleText := Application.Hint;
  StatusBar1.SimplePanel := (Application.Hint <> '');  
end;

Con esto, al pasar el mouse sobre un control con Hint, el StatusBar mostrará el texto en SimplePanel y los paneles se recuperarán tan pronto se pase sobre un control sin Hint o fuera de los controles (siempre y cuando el formulario mismo no tenga Hint).

// Saludos
Responder Con Cita
  #4  
Antiguo 05-08-2004
urush30 urush30 is offline
Miembro
 
Registrado: dic 2003
Posts: 10
Poder: 0
urush30 Va por buen camino
solucionado

gracias a todos por las respuestas, la respuesta de Roman funciona a la perfeccion y es limpia y sencilla y me he decantado por esa, aunque todas funcionan. Gracias.
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


La franja horaria es GMT +2. Ahora son las 16:22:42.


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