Dicas - Simulando o Messenger

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (0)  (0)

Veja esta dica de como fazer um formulário vibrar, como ocorre no MSN Messenger.

Messenger

 

Como posso fazer um formulário vibrar, como ocorre no MSN Messenger quando alguém quer chamar atenção? Para quem gosta de colocar efeitos especiais (e inúteis) no formulário, esta é uma excelente dica:

 

uses Windows

 

procedure WindowShake(wHandle: THandle);

const

  MAXDELTA = 4;

  SHAKETIMES = 500;

var

  oRect, wRect :TRect;

  deltax: integer;

  deltay: integer;

  cnt: integer;

  dx, dy: integer;

begin

  //lembre da posição original

  GetWindowRect(wHandle,wRect);

  oRect := wRect;

  Randomize;

  for cnt := 0 to SHAKETIMES do

  begin

    deltax := Round(Random(MAXDELTA));

    deltay := Round(Random(MAXDELTA));

    dx := Round(1 + Random(2));

    if dx = 2 then

      dx := -1;

    dy := Round(1 + Random(2));

    if dy = 2 then

      dy := -1;

    OffsetRect(wRect,dx * deltax, dy * deltay);

    MoveWindow(wHandle, wRect.Left,wRect.Top,wRect.Right -

      wRect.Left,wRect.Bottom - wRect.Top,true);

  end;

  //returna à posição de início

  MoveWindow(wHandle, oRect.Left,oRect.Top,oRect.Right -

    oRect.Left,oRect.Bottom - oRect.Top,true);

end;

  

Adicione o código em um botão, por exemplo:

  

procedure TForm1.Button1Click(Sender: TObject);

begin

  WindowShake(Application.MainForm.Handle)

end;

 

Walter Alves Chagas Junior

 

 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?