Bom, eu tava aki tentando faze um projeto...
Ai eu axei essa Procedure, q eu gostei ateh =D
Quando vc ativa ela, ela da um Shake na janela da sua aplicação, ou em outras palavras eh o mesmo efeito do " Chamar atenção " no msn =]
Eh bem simples de se fazer:
1° Declare logo abaixo de {$R *.dfm} :
2° Para " chamar " o Windows Shake, declare em um button ou qualquer outra coisa:
Pronto, agr qndo vc apertar o button e sair Shakiando por ai....
Beijo
Ai eu axei essa Procedure, q eu gostei ateh =D
Quando vc ativa ela, ela da um Shake na janela da sua aplicação, ou em outras palavras eh o mesmo efeito do " Chamar atenção " no msn =]
Eh bem simples de se fazer:
1° Declare logo abaixo de {$R *.dfm} :
- Código:
procedure WindowShake(wHandle: THandle);
const
MAXDELTA = 4;
SHAKETIMES = 500;
var
oRect, wRect :TRect;
deltax: integer;
deltay: integer;
cnt: integer;
dx, dy: integer;
begin
GetWindowRect(wHandle,wRect); //lembre da posição original
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); //retorna à posição de início
end;
MoveWindow(wHandle, oRect.Left,oRect.Top,oRect.Right -
oRect.Left,oRect.Bottom - oRect.Top,true);
end;
2° Para " chamar " o Windows Shake, declare em um button ou qualquer outra coisa:
- Código:
WindowShake(Application.MainForm.Handle);
Pronto, agr qndo vc apertar o button e sair Shakiando por ai....
Beijo