这是我书中一个例子的片段。我在这段代码中不明白的是SetWindowOrgEx x值向左增加,这是为什么?从理论上讲,这应该像MM_TEXT,其中x值向右增加。我注意到,使用SetViewportOrgEx,x值确实增加到了右边。为什么使用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 :(得分:1)
这取决于你正在做什么,但这些函数用于移动轴,所以逻辑点(0,0)指的是左上角以外的东西。
您通常应该只使用一个功能SetWindowOrgEx
和SetViewportOrgEx
,具体取决于您的需求;不是两个。