📄 subject_61534.htm
字号:
<p>
序号:61534 发表者:xiaogang_2000 发表日期:2003-11-20 11:15:34
<br>主题:怎样判断鼠标是否在规定的区域里?
<br>内容:怎样判断鼠标是否在规定的区域里?<BR>我在视图的鼠标移动事件中想判断鼠标是否在规定的区域里,添加了如下代码,但即使鼠标在矩形rc内也输出不了"ok,into this region!",不知何故,请大家帮忙看看。谢谢<BR>void CUUView::OnMouseMove(UINT nFlags, CPoint point) <BR>{<BR> // TODO: Add your message handler code here and/or call default<BR> TRACE("Device: X= %d, Y= %d\n",point.x,point.y);<BR> CClientDC dc(this);<BR> OnPrepareDC(&dc, NULL);<BR> dc.DPtoLP(&point);<BR> TRACE("Logical: X= %d, Y= %d\n",point.x,point.y);<BR> <BR> CRect rc(250,250,280,280);<BR> dc.Rectangle(250,250,280,280);<BR> if (point.x >= rc.left && point.x < rc.right && point.y <= rc.top && point.y > rc.bottom)<BR> {<BR> TRACE("ok,into this region!\n");<BR> }<BR> <BR> CScrollView::OnMouseMove(nFlags, point);<BR>}<BR><BR>mc_77@sina.com<BR>qq:56700320 <BR>
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:浪际天涯 回复日期:2003-11-20 11:28:41
<br>内容:<BR>void CUUView::OnMouseMove(UINT nFlags, CPoint point) <BR>{<BR> // TODO: Add your message handler code here and/or call default<BR> TRACE("Device: X= %d, Y= %d\n",point.x,point.y);<BR> CClientDC dc(this);<BR> OnPrepareDC(&dc, NULL);<BR> dc.DPtoLP(&point);<BR> TRACE("Logical: X= %d, Y= %d\n",point.x,point.y);<BR> <BR> CRect rc(250,250,280,280);<BR> dc.Rectangle(250,250,280,280);<BR> if (rc.PtInRect(point))<BR> {<BR> TRACE("ok,into this region!\n");<BR> }<BR> <BR> CScrollView::OnMouseMove(nFlags, point);<BR>}<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:xiaogang_2000 回复日期:2003-11-20 21:37:12
<br>内容:首先谢谢浪际天涯。<BR>你说得方法我用过了,是可以的。但我始终不明白我的方法为什么不可以。我这里有一个例程就是用的我的方法,但它是可以的。请大家帮我看看我哪儿做错了。谢谢
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:红苹果 回复日期:2003-11-20 23:02:11
<br>内容:因为你用的映射模式不是MM_TEXT,而是MM_LOENGLISH什么的,对吗?<BR>只有MM_TEXT的坐标系统才是y轴为上负下正(同屏幕坐标),其它的是上正下负(缺省原点在左上角,因此屏幕上y的坐标都为负),如下44:<BR> CRect rc(250,-250,280,-280);<BR> dc.Rectangle(250,-250,280,-280);<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:红苹果 回复日期:2003-11-21 19:06:46
<br>内容: 如果不是映射问题(即缺省),那就if语句有问题,将<BR>if (point.x >= rc.left && point.x < rc.right && point.y <b><= rc.top && point.y > rc.bottom </b>)<BR>改为:<BR>if (point.x >= rc.left && point.x < rc.right && point.y <b>>= rc.top && point.y < rc.bottom </b>)<BR> <BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -