Dephi中的鼠标指针是可以自由定义的,如果是使用系统提供的图标,那么直接通过可视控件的Cursor属性赋值就可以。
例如设置Form的鼠标为 crHourGlass 沙漏:
Form1.Cursor := crHourGlass;
也可以在设计期(IDE环境中)直接更改设置。
然而有时候我们想改变下鼠标样式,使用自己定义的图标,这样程序更个性化。本文介绍的就是如何自定义鼠标指针样式。
鼠标指针就是一种光标资源,要使用自定义光标,必须先得到这些光标。光标资源有两种:静态光标(.cur)和动态光标(.ani)。静态光标比如常用的鼠标指针,图标自身是不会变化的。动态光标就向gif图像一样,可以自己变化。早期的Delphi系统自带的Image Editor就可以创建静态光标文件(.cur),不能创建动态光标(.ani)。新版本的Delphi已经不带Image Editor工具了。如果要生成光标文件,就需要使用专业的工具,比如:CursorWorkshop 等。如果不希望自己做,网上也有很多做好的光标资源可以下载。
如果已经有了光标资源,如何在delphi程序中使用呢?假定我们已经有一个owl_head.ani光标文件。
第一步:
将owl_head.ani文件导入到工程资源中。选择:Project -> Resources and Images 菜单
注意,如果是增加静态光标(.cur),则选择Resources文件类型,里边包括了.cur文件类型,如果是动态光标(.ani),请选择Any file(*.*),否则看不到.ani文件。
OK保存。
然后在程序中如下代码:
procedure TForm1.FormCreate(Sender: TObject);
var
cur_handle : integer;
cur_index : Integer;
begin
//设置光标资源索引号,系统占用是21个光标资源
cur_index := 23;
//从资源库中装载光标
cur_handle := loadcursor(Hinstance,'owl_head');
//将光标资源放到屏幕光标列表中,索引号为 cur_index
Screen.Cursors[cur_index] := cur_handle;
//设置Form的光标为: cur_index
Self.Cursor := cur_index;
end;
光标资源下载:鸟的天堂,包括150+光标资源,有静态光标也有动态光标,下面是部分样例。