Archive

Posts Tagged ‘ani’

How to Use Animated Cursors in Your Programs

December 15th, 1999 m3Rlin No comments

Animated cursors have become very popular in the days of Windows 3.x. Now they have become a part of Windows 95 and newer. Sometimes you might want to use your own animated cursors instead of the user’s. The idea is same as with “normal” cursors.

Here’s the code:

const
  btCursorID1 = 1;
begin
  (* sCursorFile - (string) The full path of the animated cursor you want
  ** to use.
  *)
  Screen.Cursors[btCursorID1] := LoadCursorFromFile(sCursorFile);
  { This will set the cursor for the form }
  Cursor := btCursorID1;
end;

How to Create a Splash Screen

December 15th, 1999 m3Rlin No comments

When you are creating a splash screen you probably want it to show up as soon as possible. I have seen source codes where the splash screen has been shown on the main form’s OnCreate event and closed on its OnShow event. Well, this is not acceptable. Why? Because the splash screen is only shown for a very short period of time. Well, some come up with the idea to put a TTimer on the splash screen… I don’t suggest making the user wait until the splash screen goes away while being able to see the program already “waiting” behind. Aslo, you want to free the splashform after closing it because there is no use of keeping it in the memory since anyway its not going to be used. The solution to this is quite simple. Create the splashform first and release it last. But how? If we set the splashform to be the first created form it automitaclly becomes the main form. Then we have problems. We can’t even close it, because this will close the application itself. Well, there is a way around to this. All we have to do is create it manually. Here is a sample code:

{ Project source file }
...
uses
  Splash; { The unit with the splash screen }
...
var
  SplashScreen: TSplashScreen; { In the Splash unit }
...
begin
  try
    SplashScreen := TSplashScreen.Create(Application);
    with SplashScreen do begin
      Show;
      Update; { To paint the splash screen }
    end;
    Application.CreateForm(TForm1, Form1);
    (* Create other forms or any other processing before the
    ** application is to be opened
    *)
   SplashScreen.Close;
  finally  { Make sure the splash screen gets released }
    SplashScreen.Free;
  end;
  Application.Run;
end.