前面以来,写程序,坐标都是相对于用户区域的用像素表示。其实,也可以由其他表示方式,不过由于现在的显示器大小各异,这种相对于真实设备的表示方式也不那么“真实”了。
设定不同的映像方式可以使用:




其中fnMapMode 可以为:
映像方式 |
逻辑单位 |
增加值 | |
x值 |
y值 | ||
MM_TEXT |
图素 |
右 |
下 |
MM_LOMETRIC |
0.1 mm |
右 |
上 |
MM_HIMETRIC |
0.01 mm |
右 |
上 |
MM_LOENGLISH |
0.01 in. |
右 |
上 |
MM_HIENGLISH |
0.001 in. |
右 |
上 |
MM_TWIPS |
1/1440 in. |
右 |
上 |
MM_ISOTROPIC |
任意(x = y) |
可选 |
可选 |
MM_ANISOTROPIC |
任意(x != y) |
可选 |
可选 |



由上面可以知道,原点是可以自己设定的。通过下面这个函数你可以设定这个东东:












坐标转化:
DPtoLP函数用于将设备坐标转化为逻辑坐标。这个转化取决于映像方式原点位置等。





LPtoDP函数用于将逻辑坐标转化为设备坐标。这个转化取决于映像方式原点位置等。





好了,其他的就是每种映像方式的具体应用了,多看书就好了。