khoshblagh
چهارشنبه 09 دی 1388, 08:02 صبح
با سلام خدمت دوستان
من از سایت about یک پروسیجر جهت لرزش فرمmain form بدست آوردم ولی روش فراخوانی آنرا در برنامه نمیدانم. لطفا در این مورد راهنمایی نمائید. متشکرم
procedure WindowShake(wHandle: THandle) ;
const
MAXDELTA = 4;
SHAKETIMES = 500;
var
oRect, wRect :TRect;
deltax : integer;
deltay : integer;
cnt : integer;
dx, dy : integer;
begin
//remember original position
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;
//return to start position
MoveWindow(wHandle, oRect.Left,oRect.Top,oRect.Right - oRect.Left,oRect.Bottom - oRect.Top,true) ;
end;
من از سایت about یک پروسیجر جهت لرزش فرمmain form بدست آوردم ولی روش فراخوانی آنرا در برنامه نمیدانم. لطفا در این مورد راهنمایی نمائید. متشکرم
procedure WindowShake(wHandle: THandle) ;
const
MAXDELTA = 4;
SHAKETIMES = 500;
var
oRect, wRect :TRect;
deltax : integer;
deltay : integer;
cnt : integer;
dx, dy : integer;
begin
//remember original position
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;
//return to start position
MoveWindow(wHandle, oRect.Left,oRect.Top,oRect.Right - oRect.Left,oRect.Bottom - oRect.Top,true) ;
end;