怎么将鼠标活动控制在窗口的一定区域内?比如:在View窗口上的一个矩形内,鼠标可以活动和接受事件,鼠标无法移动到这个矩形区域外,除了ClipCursor Function还有甚么方法和思路?请指教!!

解决方案 »

  1.   

    在OnMouseMove里限制鼠标活动区域
      

  2.   

    http://community.csdn.net/Expert/topic/5166/5166426.xml?temp=.7530023
      

  3.   

    使用API函数clipcursor可以将鼠标限定在某一区域;
    代码如下:
    cwnd* pwnd=getdlgitem(限定区域的ID);
    crect rc;
    pwnd->getwindowrect(&rc);clipcursor(&rc);
      

  4.   

    我记有网上有程序和代码的。限制在一个单文档窗口内。
    ------ 以下是签名 ------
    SoftDN.com, 提供免费的项目管理平台:SVN仓库、需求管理、BUG跟踪、任务管理、在线论坛、网站空间、项目存储及完整的备份等。欢迎网友光临建立项目,开创自己的梦想。
    地址:http://www.softdn.com   http://www.softdn.cn
      

  5.   

    是不是问的我啊, ClipCursor(NULL);
      

  6.   

    楼主是否把分给FallInLoveAt2005的两种结果
    ****************************************************************
    第一幕...
    嫦娥和七仙女问楼主:楼主,你能把分给FallInLoveAt2005吗?
    楼主:当然,我的分全是他的。
    嫦娥和七仙女激动地说:楼主你太伟大了!
    接着,她们全部脱光衣服,一个个扑向了楼主。
    ......从此,楼主过上了被八个仙女共同伺候的性福生活。
    ****************************************************************
    第二幕...
    阎王爷问楼主:楼主,你能把分给FallInLoveAt2005吗?
    楼主:不,我才不给他。
    阎王爷愤怒的说:今晚来我这报道!
    ......一周过去了,电线杆子和墙上贴满了寻人启事,楼主因不明
    原因失踪。一个月后,有人在一个地窖里发现了楼主的尸体,
    身边有一块牌匾,上边写着:有分不给FallInLoveAt2005的后果。
    ****************************************************************
    从此,“有分就给FallInLoveAt2005”已成为一个在世上流传已久的佳话
      

  7.   

    增加一个限制标志 1 限制 0 不限制 
    然后在在OnMouseMove里判断标志 设定好限制鼠标活动区域
    取消与限制功能都能实现
      

  8.   

    //获得要限定的区域
    CWnd* pWnd = GetDlgItem(IDC_CLIPRECT);
    CRect rc;
    pWnd->GetWindowRect(&rc); //设定区域
    ClipCursor(&rc);