关于我的教科书示例中的GDI映射

这是我书中的一个例子。 在这段代码中我不明白的是,SetWindowOrgEx x的值正向左增加,为什么呢? 这在理论上应该像MM_TEXT那样x值增加到右边。 我也注意到,使用SetViewportOrgEx x值确实增加了。 为什么x值增加到SetViewportOrgEx的权利,但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)指的是左上角以外的东西。

您通常应该只使用一个函数, SetWindowOrgExSetViewportOrgEx ,具体取决于您的需要; 不是都。