GetClientInfo

<< Click to Display Table of Contents >>

Navigation:  Проект в MasterSCADA 4D > Дерево библиотек > Библиотека BaseObjects > BaseObjects.ФБ.Системные > Информация и статистика >

GetClientInfo

Функциональный блок GetClientInfo выдает информацию об экране.

Важно! Функциональный блок должен работать в задаче экрана, поскольку сервер может обслуживать несколько клиентов одновременно, и каждый клиент авторизуется своим пользователем. Этот блок может использоваться как автономно, так и в составе любой программы, при условии, что программа или объект исполняется в задаче экрана.

Вид в дереве

Вид в редакторе FBD

GetClientInfo_1

GetClientInfo_2

Входы и выходы ФБ:

Название

Тип

Назначение

Выходы

AvailHeight

INT

Высота экрана видимой области. Измеряется в пикселях.

AvailWidth

INT

Ширина экрана видимой области. Измеряется в пикселях.

Height

INT

Высота экрана реальной области. Измеряется в пикселях

Width

INT

Ширина экрана реальной области. Измеряется в пикселях.

AspectRatio

REAL

Соотношение сторон. Значение получено путем деления Width/Height.

 

Пример работы

Постановка задачи

1.Добавить в объект стартовое окно, окно с разрешением 800 на 600 и окно 1920 на 1080

2.Добавить в проект ФБ GetClientInfo;

3.Добавить триггеры на стартовое окно (Вкладка легендаТриггеры → Действие «добавить триггер»)

4.В настройках «действия» указать открыть окно, «значение условия» указать параметр (например, ширину дисплея), «параметр условия» указать параметр ФБ (например, Width).

5.Выполнить аналогичную настройку второго триггера для второго окна.

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

Реализация

Проект содержит главное окно, несколько тестовых окон разной ширины и высоты ( в том числе экземпляр библиотечного окна), а также ФБ GetClientInfo.

Для главного окна добавлены несколько триггеров, которые вызывают действие открытия того или иного окна в зависимости от текущей ширины или высоты экрана монитора. Ширину и высоту экрана триггеры получают из ФБ GetClientInfo.

Разрешение на мониторе должно быть установлено 1920х1080 для этой реализации.

Пример настройки триггера:

GetClientInfo_3

Проверка, что разрешение дисплея установлено 1920х1080:

GetClientInfo_4

Проверяем реализацию. Запускаем проект и на главном окне после нажатия на кнопку "Открыть окно проекта" будет вызвано окно с разрешением 1920x1080. В открывшемся окне сверяемся с полученными данными из Height и Width (эти и другие данные предоставляет ФБ GetClientInfo) с разрешением фактического экрана. Результат действия: было открыто окно с разрешением 1920х1080, соответствующий текущему разрешению монитора.

GetClientInfo_5

В открывшемся окне 1920х1080 после нажатия на кнопку GetClientInfo, чтобы вызвать ФБ. На всплывающем окне отобразятся значения выходных параметров ФБ GetClientInfo, соответствующие текущей настройке монитора.

GetClientInfo_8

При смене разрешения на самом мониторе:

GetClientInfo_6

В главном окне после нажатия на кнопку Открыть окно проекта. Откроется окно с разрешением 800х600, совпадающий с разрешением, установленным на мониторе.

GetClientInfo_7

Проверка открытия экземпляра библиотечного окна. Изменим разрешение монитора на 1360x768.

GetClientInfo_9

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

GetClientInfo_10

Смотрите также:

GetSystemInfo

Действия по условию