由于设定鼠标移动区域的函数需要屏幕坐标,因此我们先取得窗口坐标,然后将窗口坐标转化为屏幕坐标,最后设定范围即可。
设定鼠标光标限制在窗口内容区域的基本代码为:
RECT rect;
POINT lt, rb;
GetClientRect(hwnd, &rect); //取得窗口内部矩形(窗口坐标)
//将矩形左上角存入lt中
lt.x = rect.left;
lt.y = rect.top;
//将矩形右下角存入rb中
rb.x = rect.right;
rb.x = rect.bottom;
//将lt和rb的窗口坐标转化为屏幕坐标
ClientToScreen(hwnd, <);
ClientToScreen(hwnd, &rb);
//以屏幕坐标重新设定矩形区域
rect.left = lt.x;
rect.top = lt.y;
rect.right = rb.x;
rect.bottom = rb.y;
//限制鼠标光标移动区域
ClipCursor(&rect);