delphi函数SetSystemCursor自定义鼠标
自定义鼠标
通常鼠标形状是默认的箭头形状,本例演示如何通过编程来改变鼠标的形状,使程序可以更好地和用户交互。单击 “改变光标”按钮将鼠标形状,单击“恢复原型”按钮将鼠标改为默认形状。
Windows 提供设定鼠标形状的API 函数SetSystemCursor,首先要通过调用由LoadCursorFromFile读入的光标文件,然后调用SetSystemCursor 设定系统默认鼠标。它们的函数原型如下:
HCURSOR LoadCursorFromFile ( LPCTSTR lpFileName );
BOOL SetSystemCursor ( HCURSOR hcur, DWORD id );
如果要恢复Windows 默认形状,可以调用函数SystemParametersinfo,它的函数原型如下:
BOOL SystemParametersInfo(
UINT uiAction, //查询还是设定系统参数
UINT uiParam, //该参数取决于要采取的动作
PVOID pvParam, //该参数取决于要采取的动作
UINT fWinIni //用户配置文件更新标志
);
下面利用一个示例来介绍自定义鼠标的方法。
(1)创建一个新Delphi 项目,为窗体添加两个按钮,标题分别设为“改变光标”和“恢复原型”。
(2)添加“改变光标”按钮的OnClick 事件的处理过程,用来改变光标的形状,代码如下:
procedure TForm1.Button1Click(Sender: TObject);
var
h: HCURSOR;
begin
h:=LoadCursorFromFile(’3dsmove.cur’);
SetSystemCursor(h,ocr_normal);
end;
(3)添加“恢复原型”按钮的OnClick 事件的处理过程,用来将光标设为Windows 默认的形状,
代码如下:
procedure TForm1.Button2Click(Sender: TObject);
begin
SystemParametersinfo(SPI_SETCURSORS,0,nil,SPIF_SENDCHANGE);
end;