Fórum Animar #254462
14/10/2004
0
Tenho um form com um image, que é maior que o form, e um timer, o form está com a opção autoscroll=false, no timer coloquei o seguinte código:
var
c, x, y : integer;
begin
For C := 0 to 50 Do
Begin
image1.top := c;
sleep(10)
End;
end;
O problema é o seguinte, a movimentação da imagem não está obdecendo o tempo do interval do timer e o contador do for.
Eu quero que a imagem se movimente devagar conforme o for, mais ele incrementa o contador 50 de uma vez, aí não dá para ver a animação.
Ricado
var
c, x, y : integer;
begin
For C := 0 to 50 Do
Begin
image1.top := c;
sleep(10)
End;
end;
O problema é o seguinte, a movimentação da imagem não está obdecendo o tempo do interval do timer e o contador do for.
Eu quero que a imagem se movimente devagar conforme o for, mais ele incrementa o contador 50 de uma vez, aí não dá para ver a animação.
Ricado
Zlink
Curtir tópico
+ 0
Responder
Posts
14/10/2004
Marcelo Saviski
vc deveria colocar só isso no timer:
e p/ disparar:
e vc altera a propriedade Interval do timer p/ aumentar/diminuir a velocidade.
pode mudar a propriedade DoubleBuffered do form ou componente aonde o Image estiver dentro no OnCreate do Form para que não fique piscando.
image1.top := image1.top + 1; if image1.top >= 50 then Timer.Enabled := False;
e p/ disparar:
image1.top := 0; Timer.Enabled := True;
e vc altera a propriedade Interval do timer p/ aumentar/diminuir a velocidade.
pode mudar a propriedade DoubleBuffered do form ou componente aonde o Image estiver dentro no OnCreate do Form para que não fique piscando.
DoubleBuffered := true;
Responder
Gostei + 0
15/10/2004
Ertai
depois de mover a imagem use um
application.processemessage;
application.processemessage;
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)