📄 subject_44945.htm
字号:
<p>
序号:44945 发表者:小晕 发表日期:2003-06-25 09:16:43
<br>主题:这个代码的区别?。。。。。。。。。。。。。。。
<br>内容:ScreenToClient()和ClientToScreen(),能具体举个例子来讲吗?因为也看过msdn的解释,看不太懂:)
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:counter-bug 回复日期:2003-06-25 13:52:28
<br>内容:窗口坐标的转换。<BR>窗口上的一点<BR>如果以屏幕左上点为坐标源点,可以有一个坐标值(Screen)<BR>如果以窗口左上点为坐标源点,可以有一个坐标值(Client)<BR>即一个点在两个不同坐标系有不同值<BR>用ScreenToClient()和ClientToScreen()可以完成这坐标转换。
<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-06-25 16:42:45
<br>内容:可以以这个代码来解释吗?我知道屏幕应该是指显示屏,那窗口指什么啊,是指客户区还是整个windows窗口包括菜单,工具栏呢?<BR>CRect myRect;<BR> GetWindowRect(&myRect);//这里得到的是什么坐标呢?Screen的还是Client的?<BR><BR> ScreenToClient(myRect);//<BR> MoveWindow(myRect.left, myRect.top,<BR> myRect.Width(), myRect.Height());<BR><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>
回复者:counter-bug 回复日期:2003-06-26 10:44:50
<br>内容:Client 就是“客户”的意思啊,窗口当然是指客户了。<BR><BR>如果是View的 client rect 当然不包括菜单,那不是属于它的,:)<BR><BR>GetWindowRect 得到的是窗口(又是窗口,:)。其实就是你这段程序代码所在的类view,frame,dialog...。)在屏幕上的坐标,是Screen的了。
<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-06-26 17:05:15
<br>内容:那是不是GetClientRect()就是客户区域在客户中坐标值,应该每个left和top都是(0,0)吧:)这下我有一点明白了,可是这个ScreenToClient()和ClientToScreen()经常在什么时候用到呢?<BR><BR>////////////////////////////////////////////////////////////<BR>英语不会,看MSDN很费力,,,
<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-06-26 17:11:09
<br>内容:还有一个问题就是<BR><BR>GetWindowRect()后再用ClientToScreen()有什么意义吗?<BR><BR>我用GetWindowRect()后试过ScreenToClient()可是坐标没有回到(0,0)(左上);这是为什么啊
<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>回复者:counter-bug 回复日期:2003-06-26 17:40:02
<br>内容:GetClientRect()就是客户区域在客户中坐标值,应该每个left和top都是(0,0)吧 你说得对。<BR><BR>至于经常在什么时候用,我不清楚,反正我很少用。<BR><BR>GetWindowRect()后ScreenToClient()才有意义,完成坐标转换。<BR><BR>你是在对话框里做得吧。GetWindowRect()得到整个窗口区域,包括标题栏。标题栏不是客户区,所以左上不会是(0,0)而应该是个负值。<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-06-26 20:10:08
<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 + -