マウスカーソルには、様々な種類があります。実際に、どのようなマウスカーソルがあるか見てみましょう。以下のプログラムはボタンを押すと、マウスカーソルの形が変わるようにしました。
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などがあります。