用API函数巧控鼠标

编程爱好者

有时在编程时,我们需要对鼠标进行一定的操作,比如限定移动范围、改变鼠标光标的形状等。其实,要实现这些功能不需要单独写程序,利用API中的函数很容易实现。

1.限制移动范围

Windows API实现限制鼠标移动范围的函数为:

BOOL ClipCursor(CONST RECT *lpRect // pointer to structure with rectangle);

其中参数lpRect为要限定范围的矩形的指针。如果函数执行成功,则返回值非零,否则返回零。特别注意的是这里的矩形范围是屏幕范围。

在VC中使用如下:

{CRect rcClient;

GetClientRect(&rcClient);

ClientToScreen(&rcClient);

ClipCursor(&rcClient);}

其中ClientToScreen()函数是为了把客户区域转换为屏幕区域。

2.更换鼠标光标形状

鼠标光标形状可以很好地提示用户当前的操作,比如移动图形时,鼠标光标变成手的形状。

Windows API实现更换鼠标光标形状的函数为:

HCURSOR SetCursor(HCURSOR hCursor // handle to cursor);

hCursor为设置鼠标光标。函数返回先前使用的鼠标光标。

在使用中首先可从资源中使用LoadCursor函数加载上,然后设置。用户甚至可以使用CreateCursor函数创建自己形状特异的鼠标光标。

以上方法在C++ Builder、VB、VC中同样适用。