限制鼠标活动区域
一、ClipCursor()函数
该函数把鼠标限制在屏幕上的一个矩形区域内,如果调用SetCursor或用鼠标设置的一个随后的鼠标位置在该矩形区域的外面,则系统自动调整该位置以保持鼠标在矩形区域之内。
注:该方式点击键盘Win键自动失效
二、具体方法
BOOL ClipCursor(CONST RECT * lpRect);
IpRect:指向RECT结构的指针,该结构包含限制矩形区域左上角和右下角的屏幕坐标,如果该指针为NULL(空),则鼠标可以在屏幕的任何区域移动。
例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | //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); |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了