Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.02.2011, 07:43   #1
ArtGrek
DelphiProger
Участник клуба
 
Аватар для ArtGrek
 
Регистрация: 14.11.2010
Сообщений: 1,023
Стрелка Раскидать 2 формы на 2 монитора

Цитата:
На компьютере с двумя и более мониторами существует возможность выбрать для формы монитор, на котором она отображается. Для этого следует установить свойство DefaultMonitor в одно из следующих значений:
dmDesktop - форма отображается на текущем мониторе; никаких попыток разместить форму на каком-то конкретном мониторе не делается;
dmPrimary - форма отображается на первом мониторе в списке Monitors объекта Screen;
dmMainForm - форма отображается на том мониторе, на котором находится главная форма;
dmActiveForm - форма отображается на том мониторе, на котором находится активная в данный момент форма.
Мне кажуца глупыми ети 4 варианта, зачем делать варианты где выбор толко главныи монитор, или я что то не так понял?
подскажите как поместить главную форму на 1 монитор, а вторую на второи
VirusN13
ArtGrek вне форума Ответить с цитированием
Старый 05.02.2011, 08:04   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

Цитата:
dmMainForm - форма отображается на том мониторе, на котором находится главная форма;
dmActiveForm - форма отображается на том мониторе, на котором находится активная в данный момент форма.
Где здесь про главный монитор?
p51x вне форума Ответить с цитированием
Старый 05.02.2011, 08:29   #3
ArtGrek
DelphiProger
Участник клуба
 
Аватар для ArtGrek
 
Регистрация: 14.11.2010
Сообщений: 1,023
По умолчанию

Цитата:
Где здесь про главный монитор?
согласен, я к тому что, лушше было еше одно значени позволяюшее независимо от того где главная форма выводит на второи монитор, как то так
Цитата:
dmMainForm dmActiveForm
но ет не то что мне нужно...
как поместить главную форму на 1 монитор, а вторую на второи
VirusN13

Последний раз редактировалось ArtGrek; 05.02.2011 в 09:32.
ArtGrek вне форума Ответить с цитированием
Старый 05.02.2011, 14:02   #4
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

А если монитора 3 или больше, какой считать вторым?
Имхо, пусть юзер сам разбирается, где ему удобней какую форму видеть.
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 05.02.2011, 14:17   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
veniside
Дело не в том что выберет юзер, а в том как на другой по счету монитор растянуть вторую форму. Видимо первая должна занимать все пространство экрана, но ивторая должна быть видна.

Цитата:
ArtGrek
Когда-то я видел как писали такие проги, просто выводили форму за пределы первого экрана - она появлялась на втором как будто это один и тот же монитор. Если не ошибаюсь в настройках драйвера видюхи (если он два моника берет) это выставляется
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 05.02.2011, 14:25   #6
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

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

http://www.flounder.com/virtual_screen_coordinates.htm

> Когда-то я видел как писали такие проги, просто выводили форму за пределы первого экрана - она появлялась на втором как будто это один и тот же монитор

хм.. по-моему у вас один мониор ) Я уже забыл, как может быть по-другому.
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 05.02.2011, 15:05   #7
ArtGrek
DelphiProger
Участник клуба
 
Аватар для ArtGrek
 
Регистрация: 14.11.2010
Сообщений: 1,023
По умолчанию

Цитата:
Сообщение от veniside;
А если монитора 3 или больше, какой считать вторым?
их будет железно 2, а первом главная редактор, а на втором, второстепеная на вес второи екран
Цитата:
Сообщение от Stilet
Когда-то я видел как писали такие проги, просто выводили форму за пределы первого экрана - она появлялась на втором как будто это один и тот же монитор.
Код:
  Form3.Left := Screen.Monitors[Screen.MonitorCount - 1].Left;
  Form3.Top := Screen.Monitors[Screen.MonitorCount - 1].Top;
  Form3.Width := Screen.Monitors[Screen.MonitorCount - 1].Width;
  Form3.Height := Screen.Monitors[Screen.MonitorCount - 1].Height;
если на одном запускаю, форма уходит, за екран, а когда второи подключаю, запускаеца на первом,
вот ето и удевляет, все работает как будто наоборот)

P.S.какои 1 и какои 2 екраны, проверил, расположены горизонтально
VirusN13
ArtGrek вне форума Ответить с цитированием
Старый 05.02.2011, 15:16   #8
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

Цитата:
Сообщение от ArtGrek Посмотреть сообщение
их будет железно 2, а первом главная редактор, а на втором, второстепеная на вес второи екран
Ну вот и замечательно, пусть юзер сам растянет формы, как ему удобно, а мы запомним, где они есть и при следующем запуске формы будут уже на своих местах.

> P.S.какои 1 и какои 2 екраны, проверил, расположены горизонтально

А кто сказал, что мониторы в Monitors[] отсортированы с 1 по 2? Известно только, что "The Monitor with its Primary property set to true is the primary monitor."
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 05.02.2011, 15:25   #9
ArtGrek
DelphiProger
Участник клуба
 
Аватар для ArtGrek
 
Регистрация: 14.11.2010
Сообщений: 1,023
По умолчанию

Form2.BordelStyle := bsNone;
они должны автоматически становица по местам
VirusN13
ArtGrek вне форума Ответить с цитированием
Старый 05.02.2011, 15:47   #10
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

Код:
if Screen.Width<Screen.DesktopWidth then
Form1.Left:=Screen.Monitors[0].Width+  (Screen.Monitors[1].Width-Form1.Width) div 2;
это если 2 или больше монитора, и они растянуты по горизонтали, если идея понятна то подогнать не составит труда, если непоняьна то напишу полностью.

Последний раз редактировалось vovk; 05.02.2011 в 15:51.
vovk вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Раскидать данные по ячейкам BoRRuS Microsoft Office Excel 3 20.05.2010 23:48
Подстроить размер формы под экран монитора Борис2 Компоненты Delphi 8 23.04.2010 13:37
Размер формы и компонентов на ней в зависимости от разрешения монитора Droid Общие вопросы Delphi 2 04.08.2009 08:01
Подстройка формы под разрешение монитора Assassin Общие вопросы C/C++ 5 08.04.2008 18:16
данные о видеосистеме: тип видеоадаптера, тип монитора, режим монитора: разрешение, частота обновления WaxeP Win Api 9 15.04.2007 18:12