怎么判断显示器是“宽屏显示器”?

bugs2k 2009-08-23 08:46:38
RT
...全文
206 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
van_lin 2009-08-24
  • 打赏
  • 举报
回复
这个,可以取 width height
TScreen类看看。。
bugs2k 2009-08-24
  • 打赏
  • 举报
回复
如何枚举?
utin431 2009-08-24
  • 打赏
  • 举报
回复
int GetDeviceCaps(

HDC hdc, // device-context handle
int nIndex // index of capability to query
);

Parameters

hdc

Identifies the device context.

nIndex

Specifies the item to return. This parameter can be one of the following values:

Index:
HORZSIZE Width, in millimeters, of the physical screen.
VERTSIZE Height, in millimeters, of the physical screen.



index使用HORZSIZE、VERTSIZE获取的是显示器的物理尺寸。

根据HORZSIZE/VERTSIZE的值判断是否为宽屏。
vrace 2009-08-24
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 bugs2k 的回复:]
引用 2 楼 bugs2k 的回复:
考虑一下:将 1680 * 1050 的显示器设置为 1024 * 768 用


谢谢楼上各位的回复。如上所示,这时判断出来的是宽屏么?
[/Quote]

枚举显示器支持的分辨率
bugs2k 2009-08-24
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 bugs2k 的回复:]
考虑一下:将 1680 * 1050 的显示器设置为 1024 * 768 用
[/Quote]

谢谢楼上各位的回复。如上所示,这时判断出来的是宽屏么?
lihuimin622 2009-08-24
  • 打赏
  • 举报
回复
Screen->Height / Screen->Width == 0.75 说明长宽比为4:3,不是宽频。

宽频一般为16:10
Screen->Height / Screen->Width == 0.0625
draculamx 2009-08-24
  • 打赏
  • 举报
回复
1.获得桌面的宽度和高度
2.用宽度除以高度

如果:
1.结果等于 1.3333333 标准屏 (例如1024*768 800*600 640*480)
2.结果等于 1.6666666 宽屏 16:9 的 (例如1280*768.。。。)
3.结果等于 1.7777777 宽屏 16:10 的 (例如1280*720.。。。。)
herokay 2009-08-24
  • 打赏
  • 举报
回复
得到显示器的Height和With后用Height/With
一般普通显示器的长宽比是固定的。
不过我也没试过。
blackiron_sh 2009-08-24
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 delphiguy 的回复:]
不用枚举。使用GetDeviceCaps,
HORZSIZE、VERTSIZE返回物理屏幕的水平、垂直尺寸(毫米),这个值与当前像素分辨率无关。
HORZSIZE / VERTSIZE = 4:3、5:4之类的不是宽屏幕,等于16:9、16:10之类的就是宽屏。
你可以设定一个界限,比如小于3:2不算宽屏幕,否则算宽屏。

[/Quote]

正解
  • 打赏
  • 举报
回复
win32 api
Armeng 2009-08-24
  • 打赏
  • 举报
回复
10楼的方法是BCB里的?

貌似帮助里没有
  • 打赏
  • 举报
回复
不用枚举。使用GetDeviceCaps,
HORZSIZE、VERTSIZE返回物理屏幕的水平、垂直尺寸(毫米),这个值与当前像素分辨率无关。
HORZSIZE / VERTSIZE = 4:3、5:4之类的不是宽屏幕,等于16:9、16:10之类的就是宽屏。
你可以设定一个界限,比如小于3:2不算宽屏幕,否则算宽屏。
bugs2k 2009-08-23
  • 打赏
  • 举报
回复
考虑一下:1680 * 1050 的显示器设置为 1024 * 768 用
CppFile 2009-08-23
  • 打赏
  • 举报
回复
监测分辨率

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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