Mega Code Archive

 
Categories / Delphi / Graphic
 

How to use the DrawAnimatedRects API

Title: How to use the DrawAnimatedRects API procedure TForm1.Button1Click(Sender: TObject); var FormRect, TrayRect: TRect; hTray: THandle; begin // Get handle of tray window hTray := FindWindowEx(FindWindow('Shell_TrayWnd', nil), 0,'TrayNotifyWnd', nil); if hTray 0 then begin // This is the source rect for the animation. FormRect := BoundsRect; // Get tray window's coordinates as a TRect. This will be the animation's destination rect. GetWindowRect(hTray, TrayRect); { Now perform the actual animation. Note that this code only shows the animation. It does NOT minimize this application to the tray. I leave that up to yourself ;-) Also notice that the Delphi Help documents are very wrong about this function! Use the official MSDN docs located Microsoft's website. Instead of IDANI_CAPTION you can also use IDANI_OPEN and IDANI_CLOSE, but they don't seem to do anything... Maybe they are for future use? } if not DrawAnimatedRects(Handle, IDANI_CAPTION, FormRect, TrayRect) then begin MessageDlg('DrawAnimatedRects() failed!', mtError, [mbOK], 0); end; end else begin MessageDlg('Can''t get tray window handle!', mtError, [mbOK], 0); end; end;