Как обойти принудительное конвертирование окон при изменении разрешения монитора

Обсуждение SCADA-системы Wonderware: InTouch ME, InTouch Edge HMI, InTouch, InTouch OMI и System Platform
Аватара пользователя
alex
Администратор
Сообщений в теме: 1
Сообщения: 1627
Зарегистрирован: 05 апр 2010, 21:58
Откуда: Москва
Благодарил (а): 41 раз
Поблагодарили: 82 раза
Контактная информация:

Как обойти принудительное конвертирование окон при изменении разрешения монитора

#1

Сообщение alex » 09 июн 2011, 15:21

Что мне очень не нравиться в InTouch, так это принудительное конвертирование окон при изменении разрешения монитора. Я хочу поделиться техникой как это можно обойти. Я не нашел корректного способа это обойти поэтому предлагаю свое решение:

    1. Для начала, надо узнать на какое разрешение настроен проект InTouch, для этого надо в директории проекта найти файл vers_res.inf, это двоичный файл, в этом файле первые 2 байта, являются разрешением по горизонтали в точках, а следующие 2 байта разрешение по вертикали в точках;
    2. После того, как мы узнали разрешение, на которое настроен проект, надо сделать такое же разрешение на своем мониторе. Если это невозможно в силу технических ограничений монитора или видеокарты, можно воспользоваться виртуальной машиной, это как идея;
    3. Установив нужное разрешение, мы открываем наш проект;
    4. Сворачиваем окно WindowMaker-а, и устанавливаем новое разрешение, которое нам требуется;
    5. Разворачиваем окно WindowMaker-а и открываем те окна, у которых мы хотим сохранить оригинальный размер при текущем разрешении монитора, и меняем что-нибудь в них (свойства окна, переместить и вернуть обратно объект на окне или еще что-нибудь), главное дать понять InTouch, что окно изменилось, а это приведет к тому, что InTouch захочет сохранить изменения, что нам и нужно. Закрываем окно и выбираем сохранить изменения, которых собственно и не было;
    6. Вот собственно и все. Теперь при другом разрешении монитора окна остались такие же, как и были.



Андрей
Сообщений в теме: 1
Сообщения: 39
Зарегистрирован: 28 фев 2011, 11:39

Re: Как обойти принудительное конвертирование окон при изменении разрешения монитора

#2

Сообщение Андрей » 16 июн 2011, 14:03

Есть возможность запретить автоматическое конвертирование окон, для этого в файле Touch.ini, который находится в директории проекта добавить ключ ScaleForResolution в секцию [InTouch] и установить ему значение 0. Как пример:

Код: Выделить всё

[InTouch]
ScaleForResolution=0


И все, по умолчанию, это ключ не прописан в ini-файле и InTouch считает, что он равен 1, т.е. автоматически конвертировать. Кстати, не мало важно, что при открытии проекта с отключенным автоматическим конвертирование, он все равно спрашивает конвертировать или нет, надо сказать что да, хотя на самом деле он не конвертирует, конечно, тупо сделано это, но ничего не поделаешь.




Если эта тема может быть полезна другим, поделитесь ссылкой:

Вернуться в «Wonderware: InTouch ME, InTouch Edge HMI, InTouch, InTouch OMI и System Platform»