一、ClipCursor()函数
该函数把鼠标限制在屏幕上的一个矩形区域内,如果调用SetCursor或用鼠标设置的一个随后的鼠标位置在该矩形区域的外面,则系统自动调整该位置以保持鼠标在矩形区域之内。 注:该方式点击键盘Win键自动失效二、具体方法
BOOL ClipCursor(CONST RECT * lpRect);
IpRect:指向RECT结构的指针,该结构包含限制矩形区域左上角和右下角的屏幕坐标,如果该指针为NULL(空),则鼠标可以在屏幕的任何区域移动。
例:
//1、获取窗口矩形区 //2、根据需求计算限制区域 //3、调用ClipCursor(rect),设置限制区域 //创建矩形区用于接收变量 CRect rect;
//获取窗体矩形区(绝对坐标) GetWindowRect(&rect);
//获取客户区 矩形区域
//GetClientRect(&rect);
//根据ID获取控件的矩形区
//(this->GetDlgItem(IDC_STATIC))->GetWindowRect(&rect_ctr);
//根据需要,在rect基础上修改为想要的限制区域 rect.SetRect(rect.TopLeft().x+95, rect.TopLeft().y+5, rect.TopLeft().x+rectK.BottomRight().x, rect.TopLeft().y+rectK.BottomRight().y);
//设置限制区域 ClipCursor(rect); //注:取消限制区域 ClipCursor(NULL);