Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Scroll con un texto (https://www.clubdelphi.com/foros/showthread.php?t=63064)

dape 28-01-2009 06:49:45

Scroll con un texto
 
Hola a todos, después de un tiempo vuelvo a tocar a Delphi :), lo que estoy haciendo ahora es colocar texto en el canvas de un image y que este recorra todo el image, y ese es el problema, no logro hacer que lo recorra, me aparece en la cima del image, he usado el siguiente código:

Código Delphi [-]
if (pcmain.ActivePageIndex = 2) then
     begin
          x:=20;
          y:=366;
          for y := 366 downto 0 do
          begin
               imgcreditos.Canvas.TextOut(x,y,'Hola gc');
               h:=imgcreditos.Canvas.TextHeight('Hola gc');
               imgcreditos.Canvas.TextOut(x,y+h,'          ');
               sleep(250);
          end;
     end;

pero no consigo que el bendito texto haga el recorrido en forma lenta, recuerdo que hize esto hace ya algunos años pero la memoria me esta jugando sucio, he buscado un rato por el foro pero no di con nada, de todas maneras seguiré buscando.

Espero puedan darme una luz para este problemita.

Saludos,

David.

Neftali [Germán.Estévez] 28-01-2009 09:33:56

Pintar directamene sobre el canvas, creo que en este caso es complicarte la vida, porque el texto a medida que suba va a ir dejandote un "rastro" (a no ser que sea eso lo que quieres).

Prueba a poner un Tlabel en el frmulario con nombre <lblTexto> y usa este código, a ver si es lo que necesitas:

Código Delphi [-]
var
  x,y, h:Integer;
begin
  x:=20;

  lblTexto.Left := imgcreditos.Left + x;
  lblTexto.Font.Color := clRed;
  lblTexto.Transparent := True;

  for y := (imgcreditos.Height - 20) downto 0 do begin
    lblTexto.Top := imgcreditos.Top +  y;
    Application.ProcessMessages;
    sleep(10);
  end;

  lblTexto.Visible := False;

dape 28-01-2009 15:32:22

Te pasaste Neftali, muchas gracias por tu ayuda, eso es justo lo que buscaba, gracias.

Saludos,

David.


La franja horaria es GMT +2. Ahora son las 20:37:12.

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