对你们来说都是美好的一天。这是我在这里的第一篇文章。 - 我在读“Windows编程与MFCĴProsise(MS出版社)”
在第二章我在2个GDI函数真糊涂我,我引用的文字来:两个MFC GDI函数混淆
很容易得到SetViewportOrg和SetWindowOrg混淆,但它们之间的区别其实很明显。使用SetViewportOrg将视口原点更改为(x,y)可让Windows将逻辑点(0,0)映射到设备点(x,y)。使用SetWindowOrg将窗口原点更改为(x,y)基本上反过来,告诉Windows将逻辑点(x,y)映射到设备点(0,0) - 显示表面的左上角。在MM_TEXT映射模式中,两个函数之间唯一真正的区别是x和y的符号。在其他映射模式,有逻辑坐标设备坐标比这更给它,因为SetViewportOrg交易和SetWindowOrg交易
我这个真糊涂,实在是一样,如果我们改变观点的起源说(50,50)然后使用dc.ellipse(0,0,50,50)它将从设备点(50,50)作为原点开始,但是如果我们将窗口原点更改为(50,50),那么意味着现在是逻辑点(50 ,50)将被映射到(0,0),如果那样的话,椭圆是否不在客户区域的上部区域?而映射模式是MM_LOWENGLISH还是别的?情况如何改变呢?如果任何人都可以对此事进行阐述,我会很感激
感谢您的帮助。起初,我还认为坚持KISS原则,但一遍又一遍地阅读,完全把握它,只是困惑了我。 – Razort4x 2011-04-16 08:24:14