Заметки из Зазеркалья

24.06.2016

Быстрое масштабирование форм

Реализовано в версии 8.3.10.2168.

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

Мы считаем, что этот механизм будет удобен и полезен в тех случаях, когда нужно быстро и просто, или ненадолго и временно увеличить или уменьшить масштаб прикладных данных, отображаемых в форме.

Вы наверняка знаете, что можно увеличить шрифт, изменив разрешение экрана. И некоторое время тому назад мы дорабатывали платформенные механизмы для того, чтобы прикладные решения чётко и корректно отображались при разных разрешениях экрана (DPI). Но изменение DPI это относительно сложная и «фундаментальная» операция. Во-первых, не все пользователи обладают достаточными знаниями для её выполнения. А во-вторых, она влияет на все приложения, установленные на компьютере. Если нужно что-то увеличить или уменьшить только «здесь и сейчас», или если пользователи не обладают достаточной квалификацией, они не станут менять DPI.

В такой ситуации механизм быстрого масштабирования форм придётся очень кстати. Если пользователь не обладает хорошим зрением, он может легко сделать себе «покрупнее». А если зрение хорошее, но не вся таблица помещается по ширине в форму, можно сделать «помельче».

В клиентских приложениях

Для изменения масштаба управляемых форм и документов в клиентских приложениях можно использовать либо главное меню, либо команду из области системных команд:

03.png

Диалог установки масштаба открывается в правом верхнем углу, но вы можете переместить его в любое удобное вам место экрана:

05.png

Масштаб формы можно изменять в диапазоне от 50% до 400%. При этом не просто увеличивается или уменьшается размер шрифта и элементов, а вся форма перестраивается под новые размеры элементов.

Например, вы можете увеличить её до 200%.

06.png

Или наоборот, уменьшить до 70%.

07.png

Изменение масштаба выполняется на клиенте и не требует вызова сервера.

Масштабирование применяется только к содержимому формы. Системные панели, диалог избранного и диалог истории не масштабируются. Также не масштабируются рамки и полосы прокрутки внутри формы. Изменения размера этих элементов можно добиться путём изменения разрешения экрана (DPI).

Передвигая ползунок, вы изменяете масштаб для одной формы. Но если этот масштаб вы хотите применить ко всем формам, то для этого существует кнопка Установить для всех. Эта же кнопка поможет вам в любое время вернуть масштаб всех форм к 100%.

Несмотря на то, что мы заложили довольно большой диапазон изменения масштаба, мы не считаем, что весь он обязательно будет использоваться. По нашим оценкам пользователи, которые захотят применить эту возможность, слегка уменьшат все формы, до 90-95%, а некоторые формы наоборот слегка увеличат до 105-110%.

Сохранение масштаба

Масштабы хранятся для каждой формы отдельно в локальном хранилище на компьютере пользователя. Кроме этого там хранится общий масштаб для всех форм, который имеет стандартное значение 100%. При установке нового масштаба для всех форм, отдельные значения для каждой формы удаляются.

Масштаб формы в конфигураторе

В конфигураторе вы тоже можете задать масштаб, в котором форма будет показана пользователю. Для этого мы реализовали у формы свойство Масштаб. Это свойство мы рекомендуем использовать в тех случаях, в которых раньше вы использовали ВариантМасштаба: Компактный. Исходить нужно из того, что в компактном режиме масштаб формы равняется примерно 80%.

Предварительный просмотр формы в масштабе

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

01.png

В результате форма, отображаемая в области предварительного просмотра, будет увеличена, например, до 150%.

02.png

Показ картинок

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

Теперь для отображения задаётся не одна картинка, а набор вариантов этой картинки в виде архива. В этом архиве есть варианты под разные разрешения и под разные варианты интерфейса. Для показа платформа подбирает вариант, подходящий под текущее DPI и масштаб формы.

Например, теперь картинка флажка это набор нескольких вариантов: для платформы 8.2 (обычный интерфейс), для платформы 8.3 (интерфейс Такси), для компактного режима, для разных масштабов.

09.png

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

08.png

Рассказать друзьям: