继续讨论petzold的一处描述------------------------------: to yoci(阿呸)是阿,关键是他还专门给出了一幅图来说明,这就更让人困惑了。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 但是程序运行的结果的确是:This means that the logical point (-cxClient/2, -cyClient/2) is mapped to the device point (cxClient/2, cyClient/2)。事实已经清楚了,但是原因尚且不明...... 对于同时使用SetViewportOrgEx和SetWindowOrgEx的情况,我还比较头昏,搞不清楚,但可以确定的是,对于同时使用,不能再用单独的定义来简单连接,譬如当先使用SetViewportOrgEx,hdc里做一次记录,然后再使用SetWindowOrgEx的时候,hdc里面肯定有相应的变换,猜测hdc里的数据结构:POINT logicOrigin; // device coordinate of logic origin一开始, logicOrigin.x = logicOrigin.y = 0在SetViewportOrgEx里:logicOrigin.x += x;logicOrigin.y += y;在SetWindowOrgExlogicOrigin.x -= x;logicOrigin.y -= y;这样,如果你是单独使用,那么,总是和MSDN的说法一致的如果你结合使用,那么,petzold这段话也对了另外想跟你说,不要随便切换帖子,讨论不连贯 to ed9er(始祖鸟)我是觉得那个贴子点击太低了,可能是太长,怕没人愿意看 你怎么还理不通,原点 (0,0)是永远不变的,而另外两个winOrg,ViewportOrg是相对原点来说的,你看下面: setViewportOrg(8,8) setWindowOrg(6,6) MM_TEXT方式下dc.moveto(point(0,0));dc.lineto(point(8,8))你说这效果是如何。 这条线是从(2,2)到(10,10)你去眼阵一下,结果是这样吗?你读的是英文板吗?怎么帖出来的很多英语 to chendd2001(饿狼传说)结论我验证过了,是清楚的,我不明白的是原因,根据petzold前面讲的和msdn的说法都无法解释。我看的是英文版。既然原点不变,那么setWindowOrg的作用就是把某逻辑点映射到设备点(0,0),怎么会不是呢?当然我想了一个解释:就是这里的逻辑点是初始的逻辑点,就是逻辑点(0,0)改变前的。那么你举的例子窗口原点就是设备点(2,2)了。 求教: 分割窗口与多视图 listview只显示第一列? 推荐几本GDI+高级界面C++方面的书籍(不是C#的) 求教,如何动态调用带有MFC接口的DLL? 如何单文档程序的界面中的工具栏变灰掉(失去响应)? 自定义一个类,怎么响应消息 请问各位高手,我们用VC 做的窗口界面有问题!! CListCtrl的菜问题。 0x7601c42d 处最可能的异常: 0x000006BA: RPC 服务器不可用 急!!!怎样编写一个设备的安装程序?多多送分,决不食言。 sdk下,当一个窗体创建并显示出来后,你清楚消息响应的先后顺序? 如何往注册表里写二进制串值
This means that the logical point (-cxClient/2, -cyClient/2) is mapped to the device point (cxClient/2, cyClient/2)。
事实已经清楚了,但是原因尚且不明......
一开始, logicOrigin.x = logicOrigin.y = 0
在SetViewportOrgEx里:
logicOrigin.x += x;
logicOrigin.y += y;
在SetWindowOrgEx
logicOrigin.x -= x;
logicOrigin.y -= y;这样,如果你是单独使用,那么,总是和MSDN的说法一致的
如果你结合使用,那么,petzold这段话也对了另外想跟你说,不要随便切换帖子,讨论不连贯
我是觉得那个贴子点击太低了,可能是太长,怕没人愿意看
原点来说的,你看下面:
setViewportOrg(8,8)
setWindowOrg(6,6)
MM_TEXT方式下
dc.moveto(point(0,0));dc.lineto(point(8,8))
你说这效果是如何。
这条线是从(2,2)到(10,10)你去眼阵一下,结果是这样吗?
你读的是英文板吗?怎么帖出来的很多英语
结论我验证过了,是清楚的,我不明白的是原因,根据petzold前面讲的和msdn的说法都无法解释。
我看的是英文版。
既然原点不变,那么setWindowOrg的作用就是把某逻辑点映射到设备点(0,0),怎么会不是呢?
当然我想了一个解释:
就是这里的逻辑点是初始的逻辑点,就是逻辑点(0,0)改变前的。
那么你举的例子窗口原点就是设备点(2,2)了。