0

Как получить размер экрана клиента?

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

Начиная с версии платформы 1С:Предприятие 8.3.3 это можно сделать средствами встроенного языка, не прибегая к сторонним инструментам. Делается это с помощью функции ПолучитьИнформациюЭкрановКлиента(), которая возвращает фиксированный массив, содержащий объекты ИнформацияЭкранаКлиента для всех подключенных экранов клиента. Если экранов несколько, то на первом месте (элемент с индексом 0) будет основной экран. В том случае, если сеанс не связан с клиентской сессией (фоновое задание или внешнее соединение), метод возвращает Неопределено.

мЭкраны = ПолучитьИнформациюЭкрановКлиента();
ВысотаЭкрана = Формат(мЭкраны[0].Высота, "ЧГ=");
ШиринаЭкрана = Формат(мЭкраны[0].Ширина, "ЧГ=");

Сообщить(СтрШаблон("Разрешение: %1x%2", ШиринаЭкрана, ВысотаЭкрана));

Кроме того, можно отлавливать изменение размеров экрана, например, при переключении окна приложения на другой монитор, либо повороте экрана мобильного устройства. Для этого в модуле приложения или в модуле управляемой формы необходимо разместить предопределенную процедуру ПриИзмененииПараметровЭкрана() в которой будет производиться получение и анализ информации об экране клиента:

мЭкраны = ПолучитьИнформациюЭкрановКлиента();
ВысотаЭкрана = мЭкраны[0].Высота;
ШиринаЭкрана = мЭкраны[0].Ширина;

Если ВысотаЭкрана > ШиринаЭкрана Тогда
    Сообщить("Портрет");
Иначе
    Сообщить("Ландшафт");
КонецЕсли;

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *