⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_61534.htm

📁 vc
💻 HTM
字号:
<p>
序号:61534 发表者:xiaogang_2000 发表日期:2003-11-20 11:15:34
<br>主题:怎样判断鼠标是否在规定的区域里?
<br>内容:怎样判断鼠标是否在规定的区域里?<BR>我在视图的鼠标移动事件中想判断鼠标是否在规定的区域里,添加了如下代码,但即使鼠标在矩形rc内也输出不了&#34;ok,into this region!&#34;,不知何故,请大家帮忙看看。谢谢<BR>void CUUView::OnMouseMove(UINT nFlags, CPoint point) <BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;// TODO: Add your message handler code here and/or call default<BR>&nbsp;&nbsp;&nbsp;&nbsp;TRACE(&#34;Device: X= %d, Y= %d\n&#34;,point.x,point.y);<BR>&nbsp;&nbsp;&nbsp;&nbsp;CClientDC dc(this);<BR>&nbsp;&nbsp;&nbsp;&nbsp;OnPrepareDC(&amp;dc, NULL);<BR>&nbsp;&nbsp;&nbsp;&nbsp;dc.DPtoLP(&amp;point);<BR>&nbsp;&nbsp;&nbsp;&nbsp;TRACE(&#34;Logical: X= %d, Y= %d\n&#34;,point.x,point.y);<BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;CRect rc(250,250,280,280);<BR>&nbsp;&nbsp;&nbsp;&nbsp;dc.Rectangle(250,250,280,280);<BR>&nbsp;&nbsp;&nbsp;&nbsp;if (point.x &gt;= rc.left &amp;&amp; point.x &lt; rc.right &amp;&amp; point.y &lt;= rc.top &amp;&amp; point.y &gt; rc.bottom)<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TRACE(&#34;ok,into this region!\n&#34;);<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;CScrollView::OnMouseMove(nFlags, point);<BR>}<BR><BR>mc_77@sina.com<BR>qq:56700320&nbsp;&nbsp;<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>&nbsp;&nbsp;&nbsp;&nbsp;// TODO: Add your message handler code here and/or call default<BR>&nbsp;&nbsp;&nbsp;&nbsp;TRACE(&#34;Device: X= %d, Y= %d\n&#34;,point.x,point.y);<BR>&nbsp;&nbsp;&nbsp;&nbsp;CClientDC dc(this);<BR>&nbsp;&nbsp;&nbsp;&nbsp;OnPrepareDC(&amp;dc, NULL);<BR>&nbsp;&nbsp;&nbsp;&nbsp;dc.DPtoLP(&amp;point);<BR>&nbsp;&nbsp;&nbsp;&nbsp;TRACE(&#34;Logical: X= %d, Y= %d\n&#34;,point.x,point.y);<BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;CRect rc(250,250,280,280);<BR>&nbsp;&nbsp;&nbsp;&nbsp;dc.Rectangle(250,250,280,280);<BR>&nbsp;&nbsp;&nbsp;&nbsp;if (rc.PtInRect(point))<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TRACE(&#34;ok,into this region!\n&#34;);<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;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>&nbsp;&nbsp;&nbsp;&nbsp;CRect rc(250,-250,280,-280);<BR>&nbsp;&nbsp;&nbsp;&nbsp;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 &gt;= rc.left &amp;&amp; point.x &lt; rc.right &amp;&amp; point.y &lt;b&gt;&lt;= rc.top &amp;&amp; point.y &gt; rc.bottom &lt;/b&gt;)<BR>改为:<BR>if (point.x &gt;= rc.left &amp;&amp; point.x &lt; rc.right &amp;&amp; point.y &lt;b&gt;&gt;= rc.top &amp;&amp; point.y &lt; rc.bottom &lt;/b&gt;)<BR>&nbsp;&nbsp;&nbsp;&nbsp;<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 + -