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

时间:2011-09-20 17:08:44

标签: c++ windows winapi

这是我书中一个例子的片段。我在这段代码中不明白的是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);

1 个答案:

答案 0 :(得分:1)

这取决于你正在做什么,但这些函数用于移动轴,所以逻辑点(0,0)指的是左上角以外的东西。

您通常应该只使用一个功能SetWindowOrgExSetViewportOrgEx,具体取决于您的需求;不是两个。