CDC(一个 MFC 类)MFC 类成员函数 DPtoHIMETRIC() 功能在 Windows 7 和 Windows XP 之间会有所不同吗?下面是示例代码:
//以 HIMETRIC 单位计算边界矩形 //逻辑单位 = 0.01 mm,lpDrawItemStruct 的值作为函数参数传递
CDC pDC= CDC::FromHandle(lpDrawItemStruct->hDC);
pDC->SetMapMode(MM_HIMETRIC);
CSize wh(rc.Width(),rc.Height());
pDC->DPtoHIMETRIC(&wh);
int x = wh.cx;
int y = wh.cy;
转换后,Windows XP 中的值(x 和 y)随 Windows 7 变化。因此,功能受到影响。请提供您处理此问题的建议和意见。
参考: 对于 CDC 类 http://msdn.microsoft.com/en-us/library/fxhhde73(v=vs.80).aspx 对于 DPtoHIMETRIC http://msdn.microsoft.com/en-us/library/h6e91ee5 (v=vs.80).aspx