Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ CDC MFC类成员函数DPtoHIMETRIC()功能在Windows 7和Windows XP之间会有所不同吗?_C++_Visual C++_Mfc - Fatal编程技术网

C++ CDC MFC类成员函数DPtoHIMETRIC()功能在Windows 7和Windows XP之间会有所不同吗?

C++ CDC MFC类成员函数DPtoHIMETRIC()功能在Windows 7和Windows XP之间会有所不同吗?,c++,visual-c++,mfc,C++,Visual C++,Mfc,CDC的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()); pD

CDC的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/fxhhde73v=vs.80.aspx 用于DPtoHIMETRIC
http://msdn.microsoft.com/en-us/library/h6e91ee5v=vs.80.aspx

来自链接的MSDN文章:

转换基于物理英寸的像素数

受视频适配器的DPI设置影响。是的,在Windows 7上通常更高,因为它很容易更改:

“设置自定义文本大小DPI”链接将生成:


重置设置可能会使程序再次正常运行。或者,Windows将开始以150%的速度扩展不支持DPI的旧应用程序。以产生模糊输出为代价。当然,这些都不是真正的解决办法。编写能够在不同DPI设置下平滑缩放图形的代码需要大量工作。

摘自链接的MSDN文章:

转换基于物理英寸的像素数

受视频适配器的DPI设置影响。是的,在Windows 7上通常更高,因为它很容易更改:

“设置自定义文本大小DPI”链接将生成:


重置设置可能会使程序再次正常运行。或者,Windows将开始以150%的速度扩展不支持DPI的旧应用程序。以产生模糊输出为代价。当然,这些都不是真正的解决办法。编写能够在不同DPI设置下平滑缩放图形的代码需要工作。

从哪里获得rc值?rc类型正确。它的值从正确的rclpDrawItemStruct->rcItem中检索;你从哪里得到rc的值?rc的类型是正确的。它的值从正确的rclpDrawItemStruct->rcItem中检索;旁注:编写无缝适应系统DPI的Windows UI代码几乎是徒劳的练习。。。这是可以做到的,但它需要大量的工作,并造成了许多挫折。旁注:编写无缝适应系统DPI的Windows UI代码几乎是徒劳的练习。。。这是可以做到的,但需要做很多工作,也会造成很多挫折。