📄 subject_19312.htm
字号:
<p>
序号:19312 发表者:渔翁 发表日期:2002-10-28 08:26:41
<br>主题:影射模式问题
<br>内容:有个问题将我弄的迷迷糊糊,害的我都怀疑自己的智商太低,还是我真的已经老了:<BR>请问:<BR>case WM_SIZE:<BR> cx=LOWORD(lparam);<BR> cy=HIWORD(lparam);<BR> return 0;<BR>case WM_PAINT:<BR>..BeginPaint(..)<BR>SetMapMode(hdc,MM_ISOTROPIC);<BR>SetWindowExtEx(hdc,1000,1000,NULL);<BR>SetViewportExtEx(hdc,cxclient,-cyclient,NULL);<BR>请问当影射模式是MM_ISOTROPIC,ISO_ANSITROPIC时,怎么样来确定X,Y轴的方向?当同时设置窗口原点和视口原点的时候,他们是个什么样的关系?<BR>
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:凯凯 回复日期:2002-10-28 08:35:17
<br>内容:建议你去看看<Windows程序设计>那上面有详细的解释。
<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>回复者:徐景周 回复日期:2002-10-28 10:03:03
<br>内容:一 坐标系统概述 众所周知,VC中的坐标系统分为逻辑坐标和设备坐标,逻辑坐标就是内存中虚拟的坐标,我们可以理解为看不见的,而设备坐标就是跟具体的设备相联系的坐标系统,如:显示器和打印机等。不同的映射模式决定了设备坐标和逻辑坐标之间的转换关系,也就是两种坐标系统在相互转换时,逻辑单位和设备单位之间的某种比例关系。这里需要说明的是:Windows中,只有对需要设备环境句柄作参数的GDI函数,映射方式才会起作用。对于视口和窗口的概念比较的容易混淆,其实窗口和视口是与映射模式相关联的:映射方式就是用于从"窗口"(逻辑坐标)到"视口"(设备坐标)的映射。"视口"是基于设备坐标的,通常,视口与客户区相同;"窗口"是基于逻辑坐标的,逻辑坐标可以是像素、毫米、英寸等。下面的公式是将窗口(逻辑)坐标转化为视口(设备)坐标:<BR> xViewport = (xWindow - xWinOrg)*xViewExt/xWinExt + xViewOrgyViewport = (yWindow - yWinOrg)*yViewExt/yWinExt + yViewOrg(xWindow,yWindow)是待转换的逻辑点,(xViewport,yViewport)是转换后的设备坐标。 <BR><BR> 设备坐标的视口原点(xViewOrg,yViewOrg)和逻辑坐标的窗口原点(xWinOrg,yWinOrg)默认情况下均被设置成(0,0),但具体情况下可以改变;(xWinExt,yWinExt)是逻辑坐标的窗口范围;(xViewExt,yViewExt)是设备坐标的窗口范围,在多数映射方式下,范围是映射方式所隐含的,不能改变。注意:每个范围自身没有什么意义,但是视口范围和窗口范围的比是逻辑单位转换为设备单位的换算因子。例如,对于MM_LOENGLISH模式,xViewExt/xWinExt 表示每0.01英寸(一个逻辑单位)中水平像素数。<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>
回复者:渔翁 回复日期:2002-10-30 16:35:57
<br>内容:谢谢!<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 + -