Иногда возникают задачи, когда необходимо получить размер экрана, чтобы оптимизировать расположение элементов на форме. Для мобильного приложения по этим данным можно косвенно судить об ориентации экрана: расположен он горизонтально или вертикально.
Начиная с версии платформы 1С:Предприятие 8.3.3 это можно сделать средствами встроенного языка, не прибегая к сторонним инструментам. Делается это с помощью функции ПолучитьИнформациюЭкрановКлиента()
, которая возвращает фиксированный массив, содержащий объекты ИнформацияЭкранаКлиента
для всех подключенных экранов клиента. Если экранов несколько, то на первом месте (элемент с индексом 0) будет основной экран. В том случае, если сеанс не связан с клиентской сессией (фоновое задание или внешнее соединение), метод возвращает Неопределено
.
мЭкраны = ПолучитьИнформациюЭкрановКлиента(); ВысотаЭкрана = Формат(мЭкраны[0].Высота, "ЧГ="); ШиринаЭкрана = Формат(мЭкраны[0].Ширина, "ЧГ="); Сообщить(СтрШаблон("Разрешение: %1x%2", ШиринаЭкрана, ВысотаЭкрана));
Кроме того, можно отлавливать изменение размеров экрана, например, при переключении окна приложения на другой монитор, либо повороте экрана мобильного устройства. Для этого в модуле приложения или в модуле управляемой формы необходимо разместить предопределенную процедуру ПриИзмененииПараметровЭкрана()
в которой будет производиться получение и анализ информации об экране клиента:
мЭкраны = ПолучитьИнформациюЭкрановКлиента(); ВысотаЭкрана = мЭкраны[0].Высота; ШиринаЭкрана = мЭкраны[0].Ширина; Если ВысотаЭкрана > ШиринаЭкрана Тогда Сообщить("Портрет"); Иначе Сообщить("Ландшафт"); КонецЕсли;
Поделиться страницей в соц.сетях