Windows:如何测试高dpi下的UI?

2024-04-19

我想测试我的应用程序的反应high-dpi 设置。我指的不仅仅是 120dpi。我想测试更高的 dpi 设置,例如:

  • 150dpi
  • 300dpi
  • 600dpi
  • 1000dpi
  • 1200dpi

我的开发机器的显卡无法达到 300dpi(甚至 150dpi)所需的分辨率。

假设界面设计为'fit' 在具有 768 行的显示器(例如 1024x768)上,更高 dpi 设置所需的分辨率为:

             Normal      Wide-Screen         Frame Buffer
  dpi     Resolution    Resolution    Zoom    Size (MiB)
=======  ============  ============  ======  ============ 
   96     1024 x  768   1280 x  768    100%      3.75     
  113     1200 x  900   1440 x  900    117%      4.96     
  120     1280 x  960   1536 x  960    125%      5.63
  131     1400 x 1050   1680 x 1050    137%      6.73
  150     1600 x 1200   1920 x 1200    156%      8.70
  300     3200 x 2400   3840 x 2400    313%     35.26
  600     6400 x 4800   7680 x 4800    625%    140.63
1,000    10667 x 8000  12800 x 8000  1,042%    390.63

所需的分辨率相当高,即使是 150dpi。

我正在考虑在计算机上运行该软件的一些事情虚拟电脑,在虚拟机运行的情况下6400x4800- 然后使用VNC连接到虚拟机。然后它可以缩放内容以适合我的显示器。虽然我失去了高 dpi 显示器的保真度,但我至少可以看它,与它交互(即。test它)。但 VirtualPC 模拟的 s3 Trio 32/64 显卡最高可达1600x1200(即 150dpi)。

我也想知道是否有一些虚拟视频卡驱动程序在那里,它可以像视频卡一样工作 - 具有高分辨率,但在我的本机桌面上显示自己缩放。

有任何想法吗?


参考

  • MSDN - 如何确保您的应用程序在高 DPI 显示器上正确显示 http://msdn.microsoft.com/en-us/library/dd756596(VS.85).aspx
  • MSDN:编写高 DPI Win32 应用程序 http://msdn.microsoft.com/en-us/library/dd464660(VS.85).aspx
  • MSDN:教程:编写高 DPI Win32 应用程序 http://msdn.microsoft.com/en-us/library/dd464646(VS.85).aspx
  • MSDN - 像素密度和可用性 http://msdn.microsoft.com/en-us/library/ms699473(VS.85).aspx
  • Windows 7 工程博客:高 DPI 分辨率的后续 http://blogs.msdn.com/e7/archive/2008/09/13/follow-up-on-high-dpi-resolution.aspx
  • Greg Schechter 的博客 - Windows Vista Aero 中的高 DPI 支持 http://blogs.msdn.com/greg_schechter/archive/2006/08/07/690704.aspx

如果您的应用程序的布局在 96、120、144、150 dpi 下的行为相同,那么我认为无需测试更高的 DPI,因为您已经测试过它对于不均匀的 dpi 增量也能很好地工作。

实际上,市场上已经有许多高 dpi 友好的设置,例如笔记本电脑中 16" 显示屏的 1680x1050 15,4" 或 1920x1080,在 120dpi 下已经出现像素依赖性问题,并且在 96dpi 下使用已经非常不舒服,所以致力于更高密度的显示支持是有效的。对你有好处!

编辑:我一直在想。这可能不是很实时,但也许如果你尝试处理WM_PRINT http://msdn.microsoft.com/en-us/library/dd145216.aspx or WM_PRINTCLIENT http://msdn.microsoft.com/en-us/library/dd145217.aspx窗口中的消息并将其打印到文件中,或者至少尝试使用打印机设置显示它们的打印预览?突然我们的分辨率至少达到了 300dpi。只是一个想法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Windows:如何测试高dpi下的UI? 的相关文章

  • 如何在Windows平台上编写Git Server Hooks?

    我找不到任何适用于 Windows 的 Git 挂钩的明确示例 我在 Windows Server 上使用 Bonobo Git Server 我需要预提交和提交后挂钩作为 cmd 或 bat 预提交应检查空注释 提交后应发送有关提交的电子
  • 使用 JSeperator - Java 时出现异常间隙

    我一直在开发 Swing GUI 并在添加后出现一些不寻常和不需要的间隙JSeperator 知道如何删除它们吗 或者任何其他选择来很好地实现这一目标 视觉描述 之前差距就很明显了JLabel 速度 及之后JSlider 相关代码 cont
  • Python,Tkinter:如何使用线程防止 tkinter gui 主循环崩溃

    嗨 我有一个小的 python gui 界面 有两个按钮 开始 启动计数器 和停止 假设停止计数器 计数器是一个无限循环 因为我不希望它结束 除非第二个按钮是点击 问题是当第一个按钮的功能仍在运行时无法单击第二个按钮 我读到我需要使用线程并
  • 如何防止用户杀死C#应用程序[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 如果您使用 ESET Smart S
  • Java旋转非方形JPanel组件

    由于操作系统限制 我正在尝试旋转填充有文本标签的 GridLayout 以模拟纵向视图 它们所在的 JPanel 不是方形的 因此当旋转 90 度时 标签会根据 JPanel 的尺寸被切断 是否可以根据旋转调整布局大小以仍然适合 JPane
  • 在 Windows 上安装 MonoDevelop:满足 Gtk# 要求的解决方法?

    我已经安装了Mono 版本2 11 4 在我的Windows 7系统上 现在我打算安装单一开发 版本 3 0 4 7 然而 当我开始单一开发安装程序我收到以下错误消息 并且安装终止 好的 这可以通过获取轻松解决Gtk 安装程序来自here
  • 转储 $mft 文件的内容

    对于一些商业的我正在做的项目我需要能够读取 mft 文件中存储的实际数据 我找到了一个gpl lib http www codeproject com KB files NTFSParseLib aspx artkw ntfs这可能会有所帮
  • windows bat 文件中的 bang 字符是什么意思?

    我正在尝试更正一个使用 bang 字符的 bat 文件 我本来期望某种形式的引用 就像是 set some var some var 然后后来 some command some var 看起来第一个是在禁用回显的情况下提示输入 例如提示输
  • 窗口的打开事件和窗口句柄

    如何从刚刚打开的 Outlook 窗口获取窗口句柄 IntPtr OutLook Items items oFolder Items foreach OutLook MailItem mail in items mail Display I
  • Android 表单验证 UI 库

    有iOSUS2表单验证器 https github com ustwo US2FormValidator用于用户输入验证的库 见下图 我认为该库比默认情况下在某些内容未验证时弹出警报更好 我正在寻找如何在 Android 上做这样的事情 有
  • 如何将父小部件焦点重定向到子小部件?

    有一个简单的类叫做FloatingPointPropertyEditor 它继承的是QWidget并包含一个QLineEdit带有浮点数验证器的实例 class FloatingPointPropertyEditor public QWid
  • 如何抑制输出并检查命令是否成功?

    我正在尝试编写一个 powershell 脚本来测试 MySQL 登录是否成功 检查是否发生错误 我还想抑制命令的所有输出 成功或不成功 这些是我尝试过的事情 mysql u root password mypass e show data
  • PyGTK:带线程的 gobject.idle_add() 和 timeout_add()

    是否有任何明确的文档说明idle add timeout add 和 或它们安装的实际回调是否需要锁 任何类型 def work args 1 gtk gdk threads enter needed self ui change some
  • 如何测试视图是否用“login_required”装饰(Django)

    我正在对用 login required 装饰的视图进行一些 独立的 单元测试 例子 login required def my view request return HttpResponse test 是否可以测试 my view 函数
  • 使用 Ant 运行 JUnit 测试

    我正在尝试运行我的 JUnit 测试用例 但我不断收到错误 Test com capscan accentsWorld FAILED 报告已创建 但测试未运行 这是我的蚂蚁代码
  • 打开文件选择器对话框时出现 Glib-GIO-ERROR

    我在 Windows 7 中使用 GTK3 codeblcks IDE glade3 在我的应用程序中 我有一个按钮 单击该按钮应打开一个 gtk file chooser dialog 但给出填充错误 Glib GIO 错误 系统上未安装
  • 如何使小部件溢出以使滚动条出现在 Qt 中?

    我的小部件的结构是 QWidget 定制为带有圆角边框的面板 要在边界内包含一个带有滚动条并带有边距的区域 然后我将其放入其中 QScrollArea 与 QVBoxLayout 垂直添加内容 然后我在其中添加一系列 标题间距为 0 的 Q
  • Windows 服务和 Windows 进程有什么区别?

    是什么不同之处窗户之间service和一个窗户process 服务是真正的 Windows 进程 没有区别 服务的唯一特殊之处在于它由操作系统启动并在单独的会话中运行 一种独立的方式 可防止其干扰桌面会话 传统上命名为daemon http
  • 自动化 Windows UI 测试方法

    我们正在寻求设置自动化 UI 测试 并想知道最好的方法是什么 潜在的陷阱是什么 设置费用是否昂贵 提前致谢 B 自动化测试最大的消耗可能是时间 有很多非常昂贵的工具 但也有免费的工具 即使是昂贵的工具的成本也不太可能与正确设置自动化测试所需
  • Windows XP 风格:为什么我们在静态文本小部件上得到深灰色背景?

    我们正在使用 C 和 Win32 编写 Windows 桌面应用程序 我们的对话框具有 Windows XP 风格 的丑陋外观 静态文本的背景是灰色的 如果对话框背景也是灰色 这不是问题 但在背景为白色的选项卡控件内 文本的灰色背景非常明显

随机推荐