在Delphi 6中用API函数操作鼠标和光标

软件世界

我们在编制多媒体软件和一些系统软件时,常常需要对光标和鼠标操作。本人结合应用实践,在Delphi 6中利用Windows API函数实现了一些对光标和鼠标的操作。现向大家介绍一下。

一、隐藏和显示光标

1.函数:

int ShowCursor (BOOL bShow);

2.说明:

参数 bshow,为布尔型,表示隐藏(False)或显示(True);
返回值为整型,为鼠标隐藏或显示的指数器;
返回值大于等于0时显示光标,否则隐藏鼠标;如果安装了鼠标初值为0。

3.实例:

在应用程序中放置两个Button,名称分别为BtnHideCursor和BtnShowCursor;再放置一个LabCount,用于显示光标计数器。
// 使光标计数器的值减一,如果小于零,隐藏光标
procedure TForm1.BtnHideCursorClick(Sender: TObject);
var i:integer;
Begin
i:=ShowCursor(False);
LabCount.Caption:=inttostr(i);
end;
// 使光标计数器的值加一,如果大于等于零,显示光标
procedure TForm1.BtnShowCursorClick(Sender: TObject);
var j:integer;
Begin
j:=ShowCursor(True);
LabCount.Caption:=inttostr(j);
end;
运行程序,连续单击BtnShowCursor,你会见到计数器从一(说明初值为零)开始不断加一;再连续单击BtnHideCursor又会见到计数器不断减一,当计数器为-1时开始隐藏光标。

二、交换左右键和恢复

1.函数:

BOOL SwapMouseButton (BOOL fSwap);

2.说明:

参数 fSwap,为布尔型,表示交换(True)或恢复(False),系统默认左手习惯;
返回值亦为布尔型,交换后,返回值非0(False),恢复正常值为0(True)。

3.实例:

在应用程序中放置两个Button,名称分别为BtnReverseMouse和BtnRestoreMouse。
//交换鼠标左右键
procedure TForm1.BtnReverseMouseClick(Sender: TObject);
var t:boolean;
Begin
t:=SwapMouseButton(True);
if not t then showmessage('False');
end;
// 恢复鼠标左右键交换
procedure TForm1. BtnRestoreMouseClick(Sender: TObject);
var t:boolean;
Begin
t:=SwapMouseButton(False);
if t then showmessage('true');
end;
运行程序,左键单击BtnReverseMouse,此时实现鼠标左右键功能切换;再右键单击BtnRestoreMouse,此时实现鼠标左右键功能恢复。

三、得到双击时间

1.函数:

UINT GetDoubleClickTime(VOID);

2.说明:

该函数无参数;返回值为毫秒。

3.实例:

在窗口中放置一个Button,名称为BtnGetDoubleClickTime;再放置一个LabTime,用于显示双击时间。
//得到并显示鼠标的双击的时间
procedure TForm1.BtnGetDoubleClickTimeClick(Sender: TObject);
var DTime:integer;
begin
DTime:=GetDoubleClickTime;
LabTime.Caption:=inttostr(DTime);
end;
运行程序,单击BtnGetDoubleClickTime,在LabTime中显示双击的时间,为毫秒级。

四、设置双击时间

1.函数:

BOOL SetDoubleClickTime (UINT uInterval);

2.说明:

参数uInterval,表示鼠标双击时间,为毫秒级,系统默认时间为500;
返回值为毫秒。

3.实例:

在窗口中放置一个Button,名称为BtnSetDoubleClickTime。
//设置鼠标的双击的时间
procedure TForm1.BtnSetDoubleClickTimeClick(Sender: TObject);
var t:boolean;
begin
t:=SetDoubleClickTime(500);
if t then showmessage('Sucess!');
end;
运行程序,单击BtnSetDoubleClickTime,鼠标双击时间已改变。
总之,API函数的功能强大,我们可以在多种快速开发工具中使用它,以增强我们程序的功能。以上程序在WindowsMe、Delphi 6.0中调试通过。