这是我书中的一个示例片段。我在这段代码中看不懂的是SetWindowOrgEx x值向左正向增加,这是为什么呢?从理论上讲,这应该类似于MM_TEXT,其中x值向右增加。我也注意到x的确随着SetViewportOrgEx向右增加。为什么SetViewportOrgEx的x值向右增加,而SetWindowOrgEx的x值向左增加?另外,更改两个范围的意义何在?您不能只编辑其中一个范围吗?
SetMapMode(hdc, MM_ISOTROPIC);
SetWindowExtEx(hdc, 276, 72, NULL);
SetViewportExtEx(hdc, cxClient, cyClient, NULL);
SetWindowOrgEx(hdc, 138, 36, NULL);
SetViewportOrgEx(hdc, cxClient / 2, cyClient / 2, NULL);
最佳答案
这取决于您在做什么,但是这些功能用于移动轴,因此逻辑点(0,0)指的是左上角以外的东西。
通常,您仅应使用一个函数SetWindowOrgEx
和SetViewportOrgEx
,这取决于您的需求。不是都。
关于c++ - 关于我的教科书示例中的GDI映射,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7488965/