我有一个Windows 8平板电脑,具有1920x1080像素全高清分辨率设置。
但是,当我使用Delphi的Screen
对象获取Screen.Width
和Screen.Height
时,它将返回在该Windows 8平板电脑上运行的1280x720分辨率。
问题根源在哪里?在Windows(平板电脑)方面还是在Delphi方面?我使用Delphi 7直至XE2,结果均相同。这似乎是平板电脑的问题,而不是一般的Windows 8问题,因为我的Windows 8.1台式机上没有这种行为。
结论
我只想强调问题的原因,因为它在评论中有些隐含。
默认情况下,平板电脑上的Windows 8使用150%DPI。 1080像素是720像素的150%。因此720px可供应用程序使用。将DPI百分比降低到100%可获得预期的1080px分辨率。
最佳答案
可能是与DPI相关的问题。 Aero可以通过两种方式处理高DPI情况:
第二种情况可能是Aero不仅在DPI方面说谎,在屏幕分辨率方面也说谎。
如果您遇到第二种情况,请不要关闭缩放比例。只需使您的应用程序能够感知DPI:
http://www.rw-designer.com/DPI-aware-一般信息
http://www.micro-isv.asia/2010/09/high-dpi-support-in-windows-vista-and-7/-德尔福
关于delphi - 为什么屏幕返回的分辨率低于Windows 8平板电脑设置的分辨率?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18076016/