Array
(
)

Tremer Form Igual ao Msn

Tremonti
   - 11 fev 2006

Galera,

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

Abraços..


Netosdr
   - 11 fev 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.


Otto
   - 12 fev 2006

ou se preferir:


#Código

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;



Mestre5
   - 13 fev 2006


Citação:
Galera,

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

Abraços..
http://www.devmedia.com.br/visualizacomponente.aspx?comp=959&site=3


Lindomar.des
   - 13 fev 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;


Armando.boza
   - 14 fev 2006


Citação:
ou se preferir:


#Código

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???


Otto
   - 08 mai 2006

se a duvida ainda permance, é a unit MAth

;)