マウスカーソルには、様々な種類があります。実際に、どのようなマウスカーソルがあるか見てみましょう。以下のプログラムはボタンを押すと、マウスカーソルの形が変わるようにしました。
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Button2: TButton; Button3: TButton; Button4: TButton; Button5: TButton; Button6: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure Button5Click(Sender: TObject); procedure Button6Click(Sender: TObject); private { Private 宣言 } public { Public 宣言 } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin Screen.Cursor := crCross; end; procedure TForm1.Button2Click(Sender: TObject); begin Screen.Cursor := crSizeNESW; end; procedure TForm1.Button3Click(Sender: TObject); begin Screen.Cursor := crSize; end; procedure TForm1.Button4Click(Sender: TObject); begin Screen.Cursor := crHourglass; end; procedure TForm1.Button5Click(Sender: TObject); begin Screen.Cursor := crNo; end; procedure TForm1.Button6Click(Sender: TObject); begin Screen.Cursor := crHandPoint; end; end.
ここで、マウスカーソルが形を変化させ続けることが出来るのは、クライアント領域にある場合のみです。(クライアント領域というのは、どの領域を指しているのかは、マウスカーソルの形を変化させた後、マウスをいろいろな場所に移動させると分かると思います。)
マウスカーソルの種類は、この他にもあります。crSizeNWSE, srlBeam, srSizeNS, srSizeWE, srUpArrow, srAppStart, srHelp, crHSplit, srVSplit, crDrag, crNoDrop, crMultiDrag, crSQLWaitなどがあります。