PDA

Ver la Versión Completa : Scroll con un texto


dape
28-01-2009, 06:49:45
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:

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:


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.