现在,TextOut函式的y座标的计算不需要iVscrollPos的值。这意味著您可以将文字输出函式放到一个常式中,不用将iVscrollPos值传给该常式,因为我们是通过改变视窗原点来调整文字显示的。
如果您有使用直角座标系(即笛卡尔座标系)的经验,那么将逻辑点(0,0)移到显示区域的中央(像我们上面所说的那样)的确值得考虑。但是,对於MM_TEXT映射方式来说,还存在著一个小小的问题:笛卡尔座标系中,y值是随著上移而增加的,而MM_TEXT定义为下移时y值增加。从这一点来看,MM_TEXT有点古怪,而下面这五种映射方式都使用通常的增值方法。
「度量」映射方式
Windows包含五种以实际尺寸来表示逻辑座标的映射方式。由於x轴和y轴的逻辑座标映射为相同的实际单位,这些映射方式能使您画出不变形的圆和矩形。
这五种「度量」映射方式在表5-6中列出,按照从低精度到高精度的顺序排列。右边的两列分别给出了以英寸和毫米为单位时逻辑单位的大小,以便比较。
内定视窗及视埠的原点和范围如下所示:
视窗原点: (0, 0) 可以改变
视埠原点: (0, 0) 可以改变
视窗范围: (1, 1) 不可改变
视埠范围: (1, 1) 不可改变
问号表示视窗和视埠的范围依赖於映射方式和设备的解析度。前面已经提到过,这些范围本身并不重要,但是表示比例时就必须知道。下面是视窗座标到视埠座标的转换公式: