TScreen 类 - 使用 Screen.Cursors


unit Unit1;



interface



uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, StdCtrls, ExtCtrls;



type

  TForm1 = class(TForm)

    Timer1: TTimer; {需要个定时器}

    procedure FormCreate(Sender: TObject);

    procedure Timer1Timer(Sender: TObject);

  end;



var

  Form1: TForm1;



implementation



{$R *.dfm}

  

procedure TForm1.FormCreate(Sender: TObject);

//把系统提供的 Cursor 全部加入到 Screen.Cursors 

var

  i: Integer;

begin

  for i := 0 to 22 do

  begin

    Screen.Cursors[i] := TCursor(-i); 

  end;



  {同时设定 Timer1 没 1/4 秒执行一次}

  Timer1.Interval := 250;



{但是很奇怪, 这时的 Screen.CursorCount 竟然是 0? 糊涂了}

end;





procedure TForm1.Timer1Timer(Sender: TObject);

//让窗体的光标随机更换

begin

  Self.Cursor := Screen.Cursors[Random(22)];

end;



end.


 
   
//后来的补充 - 如果仅仅要这个效果, 这样就够了: procedure TForm1.FormCreate(Sender: TObject); begin Timer1.Interval := 250; {设定 Timer1 没 1/4 秒执行一次} end; //让窗体的光标随机更换 procedure TForm1.Timer1Timer(Sender: TObject); begin Self.Cursor := TCursor(-Random(22)); end;

你可能感兴趣的:(Cursor)