Вы тестируете на экранах с высоким разрешением и нестандартных / высококонтрастных цветовых схем? - PullRequest
2 голосов
/ 15 ноября 2008

Я использую нестандартную цветовую схему Windows на большинстве моих компьютеров, и у меня есть ноутбук с экраном 124 DPI, для которого установлена ​​Windows.

Многие программы, которые я тестировал или даже использовал ежедневно, похоже, имеют проблемы с этим, показывая, например, нестандартные размеры элементов управления, обрезанные элементы пользовательского интерфейса, нечитаемый текст и так далее. Существует целый диапазон от слегка раздражающего до (почти) непригодного для использования.

Теперь я чувствую, что многие из этих проблем не нужны. Простой тестовый запуск на экране высокого разрешения в нескольких цветовых схемах показал бы их, некоторые из них даже очень легко исправить (например, всегда используя clWindow, clWindowText и clBtnFace вместо clWhite, clBlack и clSilver). Некоторые из них сложнее, например, правильный контроль размеров.

Итак, мой вопрос: пытаетесь ли вы следовать рекомендациям в руководствах по пользовательскому интерфейсу, касающихся системных цветов, размеров и интервалов элементов пользовательского интерфейса, а также размеров шрифтов и граней? Является ли тестирование на соответствие им частью вашего процесса обеспечения качества? Вы даже пытаетесь расположить свои формы в диалоговых единицах вместо пикселей, хотя большинство IDE (в моем случае Delphi) имеют пиксельно-ориентированные дизайнеры?

[РЕДАКТИРОВАТЬ]: Перечитывая это после сна, я замечаю, что этот вопрос может выглядеть как приглашение к бесплодной дискуссии. Это не означает, что я определенно был бы заинтересован в инструментах, помогающих мне создавать приложения, которые соответствуют рекомендациям интерфейса UI, и мне кажется, что Delphi немного подводит меня. Смотрите также мой собственный ответ.

Ответы [ 4 ]

3 голосов
/ 15 ноября 2008

Определенно нет. Это время, которое я предпочитаю тратить на улучшение опыта многих, а не тех, кто использует нестандартные настройки Windows. Несколько вещей, которые я обычно делаю, которые должны решить некоторые из этих проблем:

  • используйте clWindows и т. Д., Так как в любом случае это стандарт для элементов управления Delphi, так зачем его менять?
  • размещайте метки над полями ввода, а не слева, что должно решить многие проблемы с размером
  • убедитесь, что размер формы правильно изменен, установив якоря
  • убедитесь, что порядок табуляции правильный (что может стать большим раздражением, если не сделать)

Но я, конечно, не трачу время на настройку тестовых компьютеров с нечетными разрешениями и цветами, или, что еще хуже, поменяю окно разработки, чтобы использовать их (что приведет к большим ошибкам, которые снова потребуют времени для правильной перезагрузки).

Если платящий клиент сообщает о проблемах с нестандартными настройками, это зависит от клиента, будут ли они решены. Если он заказывает 100 лицензий, его шансы хороши. Если он использует эти настройки из-за слабовидения, у него хорошие шансы. Если он сделает это частью требования, я сделаю это, но взиму плату за дополнительную работу.

2 голосов
/ 15 ноября 2008

Помимо использования надлежащих цветовых констант для стандартных цветов, я вкладываю дополнительные усилия в приложения, которые нам нужно использовать для внутреннего использования на экранах с высоким разрешением, или там, где это может потребоваться клиентам.

У меня есть блок с вспомогательными функциями для определения правильных размеров и полей размещения, которые вычисляют их из шрифта GUI по умолчанию и стандартных значений в диалоговых единицах, как указано в рекомендациях по пользовательскому интерфейсу, и с вспомогательными функциями для вычисления максимальной ширины / высота массива элементов управления, размещать элементы управления и тому подобное. Для форм и диалогов фиксированного размера я вычисляю размещение элементов управления один раз после перевода их текста с помощью gettext GNU, для форм с изменяемым размером я делаю это в обработчике OnResize.

Это дает хорошие результаты, однако требует много времени. Я хотел бы иметь что-то вроде функциональности wxWidgets sizer , которая автоматизирует изменение размера после установки минимального размера элемента управления. Впрочем, я никогда не видел ничего подобного для Delphi.

2 голосов
/ 15 ноября 2008

Сегодня так много программного обеспечения не работает должным образом с нестандартным DPI, и я не думаю, что стоит пытаться это исправить. Часто задаваемые вопросы по устранению неисправностей для многих приложений просто инструктируют пользователей переключаться на нормальный размер шрифта для связанных проблем. Microsoft признала отсутствие надлежащей поддержки DPI в стороннем программном обеспечении и изменила методы масштабирования дисплея в Windows Vista, где все операции GDI масштабируются на низком уровне вместо того, чтобы полагаться на приложения, осведомленные о настройке DPI.

Окончательный ответ: это зависит от аудитории вашего программного обеспечения. Если ваше программное обеспечение может использоваться пользователями с ограниченными возможностями, оно может стоить усилий.

1 голос
/ 17 ноября 2008

Я иногда сам тестирую его на большие шрифты, потому что мой ноутбук Vista установлен на Большие шрифты. Цветов не так много, но я редко указываю цвета на элементах управления.

Однако, правильное изменение размера довольно сложно. Я обычно устанавливаю масштаб форм на false, чтобы они не изменяли размер.

Есть несколько инструментов для автоматического изменения размера форм. Я изучал их, но так и не удосужился их протестировать:

  • TFormResizer

  • ElasticForm - по иронии судьбы (учитывая область компонента) большая часть текста на этой странице не будет отображаться в Chrome ...

  • JVAutoFormSize (в JVCL - кажется, не очень полезно из того, что я прочитал)

...