Ir al contenido



Foto

Panel Marquesina (Texto deslizante)

Delphi 10.1 Panel Maquee Texto Deslizante

  • Por favor identifícate para responder
6 respuestas en este tema

#1 Bertifox

Bertifox

    Advanced Member

  • Miembros
  • PipPipPip
  • 108 mensajes
  • LocationLa Serena-Chile

Escrito 13 abril 2017 - 11:13

Colegas, existirá algún componente que permita mostrar texto e imágenes dentro de un panel deslizante horizontal. 

 

Les dejo la inquietud, de lo contrario deberé programarlo.

 

Saludos


  • 0

#2 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.286 mensajes
  • LocationArgentina

Escrito 13 abril 2017 - 11:23

Colegas, existirá algún componente que permita mostrar texto e imágenes dentro de un panel deslizante horizontal. 

 

Les dejo la inquietud, de lo contrario deberé programarlo.

 

Saludos

 

De que existe un componente que permite el efecto, existe.

Que sea en un panel no estoy seguro.

 

Recuerdo de hace unos años haber visto tanto en Torry.net como en CD propuestas.

Una rápida búsqueda de "Marquee text Delphi" me arroja algunos enlaces que pueden serte de utilidad y orientarte:

TMarquee (GitHub)

Scrolling text (StackOverflow)

 

Saludos,


  • 0

#3 cram

cram

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 824 mensajes
  • LocationMisiones, Argentina

Escrito 13 abril 2017 - 01:52

Creo que sería más fácil hacerlo que encontrarlo.Con un TTimer, vas cambiando el texto de un TPanel de manera que la primera letra se ubique al final de la cadena y así consecutivamente hasta hacerlo cíclico. Luego mostrar una porción del texto comenzando con el principio y creo que sería todo. Claro, ajustar el texto a izquierda, acomodar los márgenes dentro del panel, etc.

 

 

Saludos


  • 0

#4 pcicom

pcicom

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 261 mensajes
  • LocationMéxico

Escrito 13 abril 2017 - 05:32

Puedes checar el blog de neftali el tiene http://neftali.clubd...anelminiaturas/

 

 


  • 0

#5 Bertifox

Bertifox

    Advanced Member

  • Miembros
  • PipPipPip
  • 108 mensajes
  • LocationLa Serena-Chile

Escrito 13 abril 2017 - 07:06

Primero agradecer sus comentarios y recomendaciones, ahora que llego revisaré los links, les comento que estuve buscando y no encontré lo que quiero, se me olvido comentar que trabajo con Delphi DX-10.1 Berlin, encontré un código bastante antiguo el cual hace desplazamiento horizontal muy brusco, lo que busco es un scrolling smooth y con fuentes configurables. En fin veré que pasa.

 

Saludos


  • 0

#6 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.286 mensajes
  • LocationArgentina

Escrito 13 abril 2017 - 07:43

Primero agradecer sus comentarios y recomendaciones, ahora que llego revisaré los links, les comento que estuve buscando y no encontré lo que quiero, se me olvido comentar que trabajo con Delphi DX-10.1 Berlin, encontré un código bastante antiguo el cual hace desplazamiento horizontal muy brusco, lo que busco es un scrolling smooth y con fuentes configurables. En fin veré que pasa.

 

Saludos

 

Convengamos que nos nos aportaste demasiados detalles de todo lo que debe cumplir el componente que buscas, sobre todo si lo que andas pensando es tan peculiar como tus necesidades. Lo bello de Delphi es que si necesitas algo bien puntual y no hay algo que se calse bien, ¡puedes crearlo!

 

Y no necesariamente hace falta que diseñes el componente. Es relativamente sencillo conseguir el efecto marquesina. Como ha dicho cram, pones un Timer a andar y que cada x milisegundos muestre el texto de forma cíclica.

Conseguir el efecto cíclico es tan simple como obtener la primera letra y ponerla al final. Eso llevado en el Timer y ya tienes una marquesina rudimentaria.

 

Ahora si necesitas pulirla más, nos hace falta más detalles. En lo que necesites ayuda aquí estamos.

 

Saludos,


  • 0

#7 Bertifox

Bertifox

    Advanced Member

  • Miembros
  • PipPipPip
  • 108 mensajes
  • LocationLa Serena-Chile

Escrito 16 abril 2017 - 09:27

Se agradece colegas, al final opte por mi propio código que anda muy bien, solo que el label se debe ajustar manualmente al largo del texto dependiendo de su Font. 

Algo raro ocurre cuando lo ejecuto en Windows toma el Font elegido, pero al compilar para Android cambia el font por uno estandard, veré como solucionar esto.


delphi
  1. procedure TForm1.TimerMensajeTimer(Sender: TObject);
  2. Var
  3. labelW, labelX : Integer;
  4. begin
  5.  
  6. LabelMensaje.Position.X:=LabelMensaje.Position.X-4;
  7. labelX:=Trunc(LabelMensaje.Position.X);
  8. labelW:=Trunc(LabelMensaje.Width);
  9. if labelX+labelW <= 0 then
  10. TimerMensaje.Enabled:=False;
  11. end;

 En el  evento onShow del form de incluir

 

    LabelMensaje.Position.X:=PanelMarquesina.Width+1;    //Ancho del panel que contiene el LabelMensaje
    TimerMensaje.Enabled:=True;

  • 0