关于映射模式的问题??请高手解答!!
iswjh 2015-04-12 08:08:11 看《windows图形编程》中,关于英寸映射模式MM_LOENGLISH的实现:
SetWindowExtEx(hdc,GetDeviceCaps(hdc,HORZSIZE)*1000/254,NULL);
SetWindowExtEx(hdc,GetDeviceCaps(hdc,VERTSIZE)*1000/254,NULL);
SetViewportExtEx(hdc,GetDeviceCaps(hdc,HORZRES),NULL);
SetViewportExtEx(hdc,GetDeivceCaps(hdc,VERTRES),NULL);
当显示器分辨率为1152*864时,GetDeviceCaps返回的HORZSIZE,VERTSIZE为320mm*240mm,窗口范围设置为(12598,9449),视口范围为(1152,-864)
问题:1、GetDeviceCaps(hdc,HORZSIZE)*1000/254的结果为1259.8,书上怎么写成要设置为12598
2、用GetDeviceCaps(hdc,LOGPIXELSX)和GetDeviceCaps(hdc,LOGPIXELSY)时,书上说物理设备表面尺寸被认为是12英寸*9英寸,在MM_HIENGLISH下窗口范围设为(12000,9600)
这又该怎么理解???