您是否在高分辨率屏幕和非标准/高对比度配色方案上进行测试?

时间:2008-11-14 23:21:09

标签: delphi user-interface dpi

我在大多数机器上使用非默认的Windows配色方案,并且有一台具有124 DPI屏幕的笔记本电脑,Windows设置为。

我测试过甚至每天使用的很多程序似乎都有问题,例如显示非标准尺寸的控件,截断的UI元素,不可读的文本等等。整个范围从稍微烦人到(几乎)无法使用。

现在我觉得很多这些问题都是不必要的。在一些颜色方案的高分辨率屏幕上进行简单的测试会显示它们,其中一些甚至很容易纠正(如总是使用clWindow,clWindowText和clBtnFace而不是clWhite,clBlack和clSilver)。其中一些更难,如适当的控制尺寸。

所以我的问题是:您是否尝试遵循UI准则中有关系统颜色,UI元素的大小和间距以及字体大小和面部的建议?是否正在测试是否符合您的QA流程?您是否尝试以对话框单位而不是像素布局表单,即使大多数IDE(在我的情况下是Delphi)都有面向像素的设计器?

[编辑]:睡觉后重读这个问题,我注意到这个问题可能看起来像是一个无效讨论的邀请。这并不意味着,我肯定会对帮助我创建符合UI界面指南的应用程序的工具感兴趣,这是我觉得Delphi让我失望的一个领域。另见我自己的答案。

4 个答案:

答案 0 :(得分:3)

我绝对不会。我倾向于花费时间来改善许多人的体验而不是使用非标准Windows设置的少数人。我经常做的一些事情,仍然应该解决其中的一些问题:

  • 使用clWindows等因为这是Delphi控件的标准,所以为什么要更改它呢?
  • 将标签放在输入字段上方而不是左侧,这应解决许多尺寸问题
  • 通过设置锚点
  • 确保表单正确调整大小
  • 确保标签顺序正确(如果不这样做,可能会成为一个主要的烦恼)

但我当然不会花时间设置具有奇怪分辨率和颜色的测试计算机,甚至更糟糕的是,更改我的开发盒以使用它们(这会使许多事情再次花费时间来正确重置)。

如果付费客户报告了非标准设置的问题,则取决于客户是否会解决这些问题。如果他订购100个许可证,他的机会很好。如果他因为视力受损而使用这些设置,他的机会很好。如果他把它作为要求的一部分,我会做,但收取额外的工作。

答案 1 :(得分:2)

今天,如此多的软件在非标准DPI上无法正常工作,我认为不值得尝试修复它。许多应用程序的故障排除常见问题解答只是指示用户切换到相关问题的正常字体大小。 Microsoft承认在第三方软件中缺乏正确的DPI支持,并重新设计了Windows Vista中的显示缩放方法,其中所有GDI操作都在较低级别上进行缩放,而不是依赖于知道DPI设置的应用程序。

最终答案:这取决于您软件的受众群体。如果您的软件可能被禁用的用户使用,则可能值得付出努力。

答案 2 :(得分:2)

除了为标准颜色使用适当的颜色常数外,我还需要为高DPI屏幕内部需要使用的应用程序或客户可能需要的应用程序投入额外的精力。

我有一个带辅助函数的单元,用于确定正确的大小和放置边距,它们从默认的GUI字体和UI指南中给出的对话单元中的标准值计算,并使用辅助函数计算最大宽度/控件数组的高度,位置控件,类似的东西。对于固定大小的表单和对话框,我在使用GNU gettext翻译文本后计算控件的位置,对于可调整大小的表单,我在OnResize处理程序中执行此操作。

这给出了良好的结果,但是耗时。我希望有wxWidgets sizer functionality之类的东西,一旦设置了最小控件大小,它就会自动调整大小。不过,我从来没有见过类似德尔福的东西。

答案 3 :(得分:1)

我偶尔会测试大字体,因为我的Vista笔记本电脑设置为大字体。颜色,不是很多,但我很少在控件上指定颜色。

但是,正确调整大小非常困难。我通常将Forms scale设置为false,因此它们不会重新调整错误。

有一些工具可以自动调整表单大小。我确实调查了它们,但从未对它们进行过适当的测试:

  • TFormResizer

  • ElasticForm - 具有讽刺意味的是(考虑到组件的区域)此页面中的大部分文字都不会显示在Chrome中...

  • JVAutoFormSize(在JVCL中 - 从我读到的内容看起来不是很有用)