如何控制鼠标的活动区域

fengfeng1982 2004-12-15 12:45:57
有时候在游戏中的窗口模式下想把鼠标限制在游戏窗口的区域内,有时候想把鼠标活动限制区域解除,用程序如何实现?(以前看过用程序来限制鼠标的活动区域,不过那只是针对该程序本身,感觉对其他程序使用不行,是不是要用到消息拦截?)
...全文
362 16 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
fengfeng1982 2004-12-24
  • 打赏
  • 举报
回复
ft,都说得这么简单的,算了,结贴了,反正最近也没时间搞。
mynamelj 2004-12-16
  • 打赏
  • 举报
回复
ClipCursor
fengfeng1982 2004-12-16
  • 打赏
  • 举报
回复
还是不明白。我不是要把鼠标限制在本窗口,而是限制在其他窗口内,这应该怎么做?还有就是要如何解除其他窗口对鼠标限制(就是窗口打开的时候鼠标就已经被限制了)
wy311216 2004-12-15
  • 打赏
  • 举报
回复
后面一个函数是解除限定
wy311216 2004-12-15
  • 打赏
  • 举报
回复
使用API函数ClipCursor可以将鼠标限定在某一区域;
比如将鼠标限定在对话框中的静态文本框(IDC_CLIPRECT)
//限定
void CLimitCursorPosDlg::OnClipcursor()
{
CWnd *pWnd = GetDlgItem(IDC_CLIPRECT);
CRect rc;
pWnd->GetWindowRect(&rc);
//设定区域
ClipCursor(&rc);
}
void CLimitCursorPosDlg::OnReleaseclip()
{
ClipCursor(NULL);
}
snowroad 2004-12-15
  • 打赏
  • 举报
回复
运用鼠标捕捉功能:SetCapture(),当鼠标超出某个矩形后,把鼠标重新定位一下,等于给又拉了回来。不需要限制鼠标范围时,再解除捕捉。
老夏Max 2004-12-15
  • 打赏
  • 举报
回复
关注一下!
kugou123 2004-12-15
  • 打赏
  • 举报
回复
限制在本窗口:
CRect rect1;
GetWindowRect(&rect1);
ClipCursor(&rect1);
fengfeng1982 2004-12-15
  • 打赏
  • 举报
回复
能详细点吗?
hjunxu 2004-12-15
  • 打赏
  • 举报
回复
这个是不是对程序本身的?我是想用这个程序针对别的窗口的鼠标活动范围进行控制,而不是该程序本身
--------------------
用HOOK吧。
wy311216 2004-12-15
  • 打赏
  • 举报
回复
只要你能取得那个窗口的指针就可以
zcxx5201314 2004-12-15
  • 打赏
  • 举报
回复
用mousemove消息,自己判断也可以吧。
fengfeng1982 2004-12-15
  • 打赏
  • 举报
回复
这个是不是对程序本身的?我是想用这个程序针对别的窗口的鼠标活动范围进行控制,而不是该程序本身。
oyljerry 2004-12-15
  • 打赏
  • 举报
回复
ClipCursor设定区域
vctool 2004-12-15
  • 打赏
  • 举报
回复
是要用CLIPCURSOR,我做过的.
tyzyx 2004-12-15
  • 打赏
  • 举报
回复
用下面三个API函数组合
ClipCursor
ClipCursorClear
ClientToScreen

15,980

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧