Tremer Form Igual ao Msn

Delphi

11/02/2006

Galera,

Como faço para um form tremer igual ao do Msn?

Abraços..


Tremonti

Tremonti

Curtidas 0

Respostas

Netosdr

Netosdr

11/02/2006

Caro colega, tente setar as propriedades TOP e LEFT do Form para várias posições, não se esquecendo de usar o Sleep().

Ex:
Form1.Top := 100;
Form1.Left := 50;
Sleep(300);
Form1.Top := 150;
Form1.Left := 30;
Sleep(300);
e assim por diante...

Obs: Sleep é o tempo de pausa definido em milisegundos.

Espero ter ajudado.


GOSTEI 0
Otto

Otto

11/02/2006

ou se preferir:


procedure Tremer(frm: HWND);
var
  r: TRect;
  i: integer;
  n1,n2: integer;
begin
  GetWindowRect(frm,r);
  for i := 0 to 50 do begin
    n1 := RandomRange(-5,5);
    n2 := RandomRange(-5,5);
    SetWindowPos(frm,0,r.Left + n1,r.Top + n2,r.Right - r.Left,r.Bottom - r.Top,0);
    sleep(20);
  end;
  SetWindowPos(frm,0,r.Left,r.Top,r.Right - r.Left,r.Bottom - r.Top,0);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Tremer(handle);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  Tremer(FindWindow(´TAppBuilder´,nil));
end;



GOSTEI 0
Mestre5

Mestre5

11/02/2006

Galera, Como faço para um form tremer igual ao do Msn? Abraços..
https://www.devmedia.com.br/visualizacomponente.aspx?comp=959&site=3


GOSTEI 0
Lindomar.des

Lindomar.des

11/02/2006

Tremonti

fiz um teste com esse codigo:

procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
begin
for i := 0 to 10 do
begin
left := left - 5;
top := top - 5;
sleep(50);
left := left + 5;
top := top + 5;
sleep(50);
end;
end;


GOSTEI 0
Armando.boza

Armando.boza

11/02/2006

ou se preferir:
procedure Tremer(frm: HWND);
var
  r: TRect;
  i: integer;
  n1,n2: integer;
begin
  GetWindowRect(frm,r);
  for i := 0 to 50 do begin
    n1 := RandomRange(-5,5);
    n2 := RandomRange(-5,5);
    SetWindowPos(frm,0,r.Left + n1,r.Top + n2,r.Right - r.Left,r.Bottom - r.Top,0);
    sleep(20);
  end;
  SetWindowPos(frm,0,r.Left,r.Top,r.Right - r.Left,r.Bottom - r.Top,0);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Tremer(handle);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  Tremer(FindWindow(´TAppBuilder´,nil));
end;


Deu erro no RandomRange, precisa de alguma declaração na cláusula USES???


GOSTEI 0
Otto

Otto

11/02/2006

se a duvida ainda permance, é a unit MAth

;)


GOSTEI 0
POSTAR