1С 8.3 Получить размер (разрешение) экрана
Данные > Примеры кода 1С > 1С 8.3 Приложение, система, интерфейс
Перейти в раздел примеры кода 1С 8.3:
Два варианта как программно определить разрешение (размер) экрана пользователя в 1С 8.3, а также простая функция для определения ориентации. Данные функции использовал для оптимизации массивных форм и их автонастройку под определенных пользователей.
Узнать программно размер экрана в 1С 8.3 (вариант №1):
&НаКлиенте
Функция ПолучитьРазмерЭкранаОпционально()
ИнфоЭкрана = ПолучитьИнформациюЭкрановКлиента(); // с 8.3.2; результат - фикс.массив объектов
ДПИ = ИнфоЭкрана[0].DPI;
ВысотаЭкрана = Формат(ИнфоЭкрана[0].Высота, "ЧГ=");
ШиринаЭкрана = Формат(ИнфоЭкрана[0].Ширина, "ЧГ=");
//Сообщить(СтрШаблон("Разрешение: %1x%2", ШиринаЭкрана, ВысотаЭкрана));
РазрешениеЭкрана = Новый Структура("ШиринаЭкрана,ВысотаЭкрана,ДПИ",
ИнфоЭкрана[0].Ширина,ИнфоЭкрана[0].Высота,ИнфоЭкрана[0].DPI);
Возврат РазрешениеЭкрана;
КонецФункции
Функция ПолучитьРазмерЭкранаОпционально()
ИнфоЭкрана = ПолучитьИнформациюЭкрановКлиента(); // с 8.3.2; результат - фикс.массив объектов
ДПИ = ИнфоЭкрана[0].DPI;
ВысотаЭкрана = Формат(ИнфоЭкрана[0].Высота, "ЧГ=");
ШиринаЭкрана = Формат(ИнфоЭкрана[0].Ширина, "ЧГ=");
//Сообщить(СтрШаблон("Разрешение: %1x%2", ШиринаЭкрана, ВысотаЭкрана));
РазрешениеЭкрана = Новый Структура("ШиринаЭкрана,ВысотаЭкрана,ДПИ",
ИнфоЭкрана[0].Ширина,ИнфоЭкрана[0].Высота,ИнфоЭкрана[0].DPI);
Возврат РазрешениеЭкрана;
КонецФункции
Узнать программно размер экрана в 1С 8.3 (вариант №2):
&НаКлиенте
Функция ПолучитьРазмерЭкранаЧерезКом()
БраузерИЕ = Новый COMОбъект("InternetExplorer.Application");
БраузерИЕ.FullScreen = -1;
ВысотаЭкрана = Формат(БраузерИЕ.Height, "ЧГ=");
ШиринаЭкрана = Формат(БраузерИЕ.Width, "ЧГ=");
//Сообщить(СтрШаблон("Разрешение: %1x%2", ШиринаЭкрана, ВысотаЭкрана));
РазрешениеЭкрана = Новый Структура("ШиринаЭкрана, ВысотаЭкрана",
БраузерИЕ.Width, БраузерИЕ.Height);
Возврат РазрешениеЭкрана;
КонецФункции
БраузерИЕ = Новый COMОбъект("InternetExplorer.Application");
БраузерИЕ.FullScreen = -1;
ВысотаЭкрана = Формат(БраузерИЕ.Height, "ЧГ=");
ШиринаЭкрана = Формат(БраузерИЕ.Width, "ЧГ=");
//Сообщить(СтрШаблон("Разрешение: %1x%2", ШиринаЭкрана, ВысотаЭкрана));
РазрешениеЭкрана = Новый Структура("ШиринаЭкрана, ВысотаЭкрана",
БраузерИЕ.Width, БраузерИЕ.Height);
Возврат РазрешениеЭкрана;
КонецФункции
Узнать ориентацию экрана в 1С 8.3:
&НаКлиенте
Функция ПолучитьОриентациюЭкрана(ШиринаЭкрана, ВысотаЭкрана)
ОриентацияЭкрана="";
Если ВысотаЭкрана > ШиринаЭкрана Тогда
ОриентацияЭкрана="Портрет";
Иначе
ОриентацияЭкрана="Ландшафт";
КонецЕсли;
//Если ОриентацияЭкрана="Портрет" Тогда
// АвтоПоворотЭкрана(ШиринаЭкрана, ВысотаЭкрана);
//КонецЕсли;
Возврат ОриентацияЭкрана;
КонецФункции
Функция ПолучитьОриентациюЭкрана(ШиринаЭкрана, ВысотаЭкрана)
ОриентацияЭкрана="";
Если ВысотаЭкрана > ШиринаЭкрана Тогда
ОриентацияЭкрана="Портрет";
Иначе
ОриентацияЭкрана="Ландшафт";
КонецЕсли;
//Если ОриентацияЭкрана="Портрет" Тогда
// АвтоПоворотЭкрана(ШиринаЭкрана, ВысотаЭкрана);
//КонецЕсли;
Возврат ОриентацияЭкрана;
КонецФункции
0
комментарии
____________________
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник