我的电脑用GetDeviceCaps(HORZSIZE)能返回482,请问是怎么算的?

wonderfullworld 2012-01-24 11:53:06
我的电脑是win7系统,用GetDeviceCaps(HORZSIZE)能返回482是怎么算的?
482mm = 48.2cm,我的显示器是14.1英寸,大概是31cm。差太多了~

GetDeviceCaps(HORZRES)为 1366
GetDeviceCaps(VERTRES)为 768

GetDeviceCaps(LOGPIXELSX) 96
GetDeviceCaps(LOGPIXELSY) 96

GetDeviceCaps(HORZSIZE) 482 始终不知道这HORZSIZE和VERSIZE两个值是怎么来的?
GetDeviceCaps(VERSIZE) 271

下面是书上关于HORZSIZE的介绍:
然而,在Windows NT中,用老的方法定义HORZSIZE和VERTSIZE值。这种方法与Windows的16位版本一致。HORZRES和VERTRES值仍然表示水平和垂直图素的数值,LOGPIXELSX和LOGPIXELSY仍然与在「控制台」的「显示器」程序中选择的字体有关。在Windows 98中,LOGPIXELSX和LOGPIXELSY的典型值是96和120 dpi,这取决于您选择的是小字体还是大字体。

在Windows NT中的区别是HORZSIZE和VERTSIZE值固定表示标准显示器大小。对于普通的显示卡,取得的HORZSIZE和VERTSIZE值分别是320和240毫米。这些值是相同的,与选择的图素大小无关。因此,这些值与用HORZRES、VERTRES、LOGPIXELSX和LOGPIXELSY索引从GetDeviceCaps中得到的值不同。然而,可以用前面的公式计算在Windows 98下的HORZSIZE和VERTSIZE值。

在Windows的16位版本中(及在Windows NT中),Windows为HORZSIZE和VERTSIZE使用「标准」的显示大小。然而,从Windows 95开始,HORZSIZE和VERTSIZE值是从HORZRES、VERTRES、LOGPIXELSX和LOGPIXELSY值中衍生出来的。这是它的工作方式。

我的是482和271 也不是写的320与240mm。

先不管win98,我始终没看懂 这是怎么来的?

希望有心得的人指点我一下,祝大家龙年愉快!!!

...全文
335 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
我的也是楼主的问题,不知道该怎么解决????
schlafenhamster 2012-01-25
  • 打赏
  • 举报
回复
VC60. 另外有一个原微软的例子。
wonderfullworld 2012-01-25
  • 打赏
  • 举报
回复
非常感谢!

请问那代码是用什么软件开发的?
schlafenhamster 2012-01-25
  • 打赏
  • 举报
回复
下载我的‘屏幕分辨率.zip’,
http://download.csdn.net/detail/schlafenhamster/4029481
参考。
schlafenhamster 2012-01-25
  • 打赏
  • 举报
回复
不难。
主要代码在‘LRESULT CVcDispResDlg::OnMyTray(WPARAM uID, LPARAM lEvent)’中:
1.DWORD allItems=SetResolutionItems(pSubMenu,dvmd);
填弹出菜单的所有项。
2.2个命令:
a。IDC_MENU_OPEN:打开对话框,
b。IDC_MENU_EXIT:退出
3.其他菜单就是改变选择项。
打开对话框时会显示选择项的内容。
改变分辨率的程序其实没有用(安全考虑),可参考原例子
wonderfullworld 2012-01-25
  • 打赏
  • 举报
回复
没看懂 好啦 我承认我是菜鸟啦

16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧