Buscar

Tremer o Form como MSN

Código

Inclua no projeto a seguinte procedure e a cheme, conforme o caso:

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;

Publicidade

Vote na dica




Quantidade de votos: 1 voto
Aceitação: 20%


Detalhes da dica

Categoria: Forms
Adicionada dia: 18/06/09
Por: Marcos Aurelio
Visualizada: 3196 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009