Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Развести кадры по разным мониторам одной программы, Одна программа два монитора разные кадры 
:(
    Опции темы
petlyura
Дата 17.3.2010, 18:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 162
Регистрация: 30.1.2008
Где: Харьков

Репутация: 2
Всего: 2



Здравствуйте, коллеги!  smile 

Попробую сформулировать вопрос. Есть программа с операторским интерфейсом для управления тех.процессами. Короче, аналог scada-системы. Ранее работала на одном компьютере с одним монитором. Либо на 2-х комп. (резервирование). Понадобилось операторам следить за несколькими кадрами одновременно. Т.е. на одну машину поставить 2 монитора. Запустить программу, и чтобы она открылась и отобразилась на разных мониторах. Потом они выбирают кадры, которые будут отображаться на них. Т.е. на мониторе А кадр 1, на мониторе Б кадр 2. Т.е. могут любой кадр из 1,2,..., n открыть на любом мониторе. Как это реализовать? Заставить одну программу отображаться на 2 мониторах с разными окнами-формами. Самый легкий путь - запустить 2 копии программы. Но тут проблема архивов возникает и т.д. Какая-то избыточность. Думал на одной копии отключить архивирование, чтобы только управление и интерфейсные заморочки. Но хочется красиво... с одной программой, которая понимает, на каком мониторе вызывают кадр и т.д. Посоветуйте. Пока даже не знаю, куда смотреть.  smile 
PM MAIL   Вверх
xvr
Дата 18.3.2010, 16:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 48
Всего: 223



Мониторы объединить в один виртуальный десктоп, программа должна показывать 2 формы - одну в левой половине десктопа, вторую - в правой. После того, как программа их туда поставит, формы можно максимизировать (они займут ровно по одному монитору)

PM MAIL   Вверх
petlyura
Дата 29.3.2010, 19:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 162
Регистрация: 30.1.2008
Где: Харьков

Репутация: 2
Всего: 2



Цитата(xvr @ 18.3.2010,  16:37)
Мониторы объединить в один виртуальный десктоп

Как это сделать? "Расширить рабочий стол на этот монитор" не помогает. Сама программа максимизируется только в одном экране. Пробовал насильно задавать размеры ей на 2 экрана, но формы тогда, размещенные в разных точках (первый монитор и второй) максимизируются только на всю программу (т.е. на оба монитора сразу).
Пробовал 2 exe запускать и разворачивать на разных мониторах. Это получается. Но хочется... работать только с одной программой!
Жду предложений. Спасибо.
PM MAIL   Вверх
DCamer
Дата 29.3.2010, 19:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 232
Регистрация: 29.1.2010

Репутация: нет
Всего: нет



petlyura, есть режим Dualview
--------------------
Нуб!   Windows 7 Ultimate x64, Embarcadero RAD Studio 2010 - C++Builder 2010
PM MAIL   Вверх
xvr
Дата 29.3.2010, 20:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 48
Всего: 223



Цитата(petlyura @ 29.3.2010,  19:02)
Цитата(xvr @ 18.3.2010,  16:37)
Мониторы объединить в один виртуальный десктоп

Как это сделать? "Расширить рабочий стол на этот монитор" не помогает. 

именно это

Цитата

Пробовал насильно задавать размеры ей на 2 экрана, но формы тогда, размещенные в разных точках (первый монитор и второй) максимизируются только на всю программу (т.е. на оба монитора сразу).
Их надо не максимизировать, а ставить им Position в poScreenCenter (предварительно разнеся на разные мониторы)

PM MAIL   Вверх
petlyura
Дата 6.4.2010, 17:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 162
Регистрация: 30.1.2008
Где: Харьков

Репутация: 2
Всего: 2



Цитата(xvr @ 29.3.2010,  20:45)
Их надо не максимизировать, а ставить им Position в poScreenCenter (предварительно разнеся на разные мониторы)

Хех, да ставил я. Может, надо подробнее объяснить. ??  Главная форма FClient. Св-во FormStyle = fsMDIForm. В "окне" этой формы я могу открыть еще много форм - кадров FKadr, свойства которых FormStyle = fsMDIChild, WindowState = wsNormal, Position = poScreenCenter. Даже специально с помощью св-ва Left разношу формы Кадра (т.е. для 2-го кадра Left+=1200 делаю). Но не помогает ничего. Уже первый кадр открывается посередине формы (да, кстати, насильно присваиваю poScreenCenter, а св-во все равно = poDesigned). А вот если у форм FKadr убрать св-во fsMDIChild, то тогда срабатывает разводка по разным экранам, но мне нужно многодокументное приложение!
Что делать-то? 
PM MAIL   Вверх
xvr
Дата 6.4.2010, 19:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 48
Всего: 223



Цитата(petlyura @  6.4.2010,  17:55 Найти цитируемый пост)
Св-во FormStyle = fsMDIForm
С этим работать не будет
Цитата

А вот если у форм FKadr убрать св-во fsMDIChild, то тогда срабатывает разводка по разным экранам, но мне нужно многодокументное приложение!
А как вы себе это представляете? Многодокументное придожение по определению хранит свои окна внутри одного окна, и соотвественно они НИКАК не могут быть на разных мониторах.
Делайте отдельные окна для показа на мониторах (не MDIChild)

PM MAIL   Вверх
petlyura
Дата 7.4.2010, 14:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 162
Регистрация: 30.1.2008
Где: Харьков

Репутация: 2
Всего: 2



Цитата(xvr @ 6.4.2010,  19:18)
А как вы себе это представляете? Многодокументное придожение по определению хранит свои окна внутри одного окна, и соотвественно они НИКАК не могут быть на разных мониторах.
Делайте отдельные окна для показа на мониторах (не MDIChild)

Да, я понимаю, что хранит внутри окна другие окна.  smile  Но я же могу многодокументное растянуть на 2 экрана. Поэтому осталось дело за малым (шучу): сделать так, чтобы окна-child'ы открывались внутри главного, но только в одном экране. Т.е. одна форма - в одной половине, вторая - в другой. Могу серьезно облегчить задачу следующими вводными-упрощениями: главная всегда максимизирована на 2 окна (максимизирована - условно, просто могу ей задать width, height так, чтобы она занимала всю область экранов, в т.ч. и скрывала панель, и не меняла размеры), мониторы одинаковые размером и разрешением. Т.е. можно условно бить общий экран на 2 части, тем более универсальность в данном случае не нужна (я заранее могу в коде прописать разрешение, в котором работаем).
PM MAIL   Вверх
xvr
Дата 7.4.2010, 16:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 48
Всего: 223



Цитата(petlyura @  7.4.2010,  14:25 Найти цитируемый пост)
сделать так, чтобы окна-child'ы открывались внутри главного, но только в одном экране.
Сие IMHO невозможно. Только руками выставить им размеры  smile 


PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

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

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0958 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.