如何控制鼠标的活动区域 有时候在游戏中的窗口模式下想把鼠标限制在游戏窗口的区域内,有时候想把鼠标活动限制区域解除,用程序如何实现?(以前看过用程序来限制鼠标的活动区域,不过那只是针对该程序本身,感觉对其他程序使用不行,是不是要用到消息拦截?) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 运用鼠标捕捉功能:SetCapture(),当鼠标超出某个矩形后,把鼠标重新定位一下,等于给又拉了回来。不需要限制鼠标范围时,再解除捕捉。 使用API函数ClipCursor可以将鼠标限定在某一区域;比如将鼠标限定在对话框中的静态文本框(IDC_CLIPRECT)//限定void CLimitCursorPosDlg::OnClipcursor(){ CWnd *pWnd = GetDlgItem(IDC_CLIPRECT); CRect rc; pWnd->GetWindowRect(&rc); //设定区域 ClipCursor(&rc);}void CLimitCursorPosDlg::OnReleaseclip(){ ClipCursor(NULL);} 用下面三个API函数组合 ClipCursorClipCursorClear ClientToScreen 用mousemove消息,自己判断也可以吧。 这个是不是对程序本身的?我是想用这个程序针对别的窗口的鼠标活动范围进行控制,而不是该程序本身--------------------用HOOK吧。 限制在本窗口:CRect rect1;GetWindowRect(&rect1);ClipCursor(&rect1); 长期挂贴!!关于QQ农场的山寨版MFC制作!!求啊 关于bmp转jpg和dib转jpg问题 wininet可以实现基于HTTP的断点续传下载么? 关于this问题 谁有MFC windows程序设计(第2版)中文版 CHM 格式的电子书? DLL进行数据操作时的奇怪的问题 求2的n次方用哪个函数? 如何send类型为CStringArray的数据? 怎样程序修改系统的显示字体?即显示属性里的大、小字体! 取可执行文件本身的所在路径是哪个api函数来着? 关于MSDN的安装,请教诸位 请问:在dialog中如何让控件分层显示?
比如将鼠标限定在对话框中的静态文本框(IDC_CLIPRECT)
//限定
void CLimitCursorPosDlg::OnClipcursor()
{
CWnd *pWnd = GetDlgItem(IDC_CLIPRECT);
CRect rc;
pWnd->GetWindowRect(&rc);
//设定区域
ClipCursor(&rc);
}
void CLimitCursorPosDlg::OnReleaseclip()
{
ClipCursor(NULL);
}
ClipCursor
ClipCursorClear
ClientToScreen
--------------------
用HOOK吧。
CRect rect1;
GetWindowRect(&rect1);
ClipCursor(&rect1);