Board index » delphi » Multi-Monitor Madness

Multi-Monitor Madness


2006-11-22 01:13:12 AM
delphi139
I have a multi-monitor setup. Monitor 1 is 1600X1200, 2 is 1280X1024. I
have the monitor setup with the tops equal. I have a small (in height) app
that I run on monitor 2 at the top of the screen. I have a function that I
can call to allow me to set the startup position of dialogs to screencenter,
a particular monitor screencenter, tray app, centered in any window or
window control. When my small app is running at the top and is less than 13
pixels from the top the left property of my dialog becomes unable to be
changed in code and the value that is set in it is the left value that
centers it horizontally with the mainform. The top property still works
correctly. My function is returning the correct values in all cases but the
assignment to the left property is completely ignored when the maniform top
is less than 13. Very weird. I am at a loss.
Russ
 
 

Re:Multi-Monitor Madness

Do you have ScreenSnap disabled?
I am not sure if it is really a two monitor problem
Also, do you have negative coordinates?
Quote
I have a multi-monitor setup. Monitor 1 is 1600X1200, 2 is 1280X1024. I
have the monitor setup with the tops equal. I have a small (in height)
app
...
 

Re:Multi-Monitor Madness

Serge Dosyukov (Dragon Soft) writes:
Quote
I'd check procedure TCustomForm.SetWindowToMonitor;
Serge, it is the application's responsibility to position itself, isn't
it? I have a multi monitor setup, but I also log on to my office
computer from home, using Remote Desktop.
When I do this, windows normally move in from the adjacent monitors to
the front monitor, automatically.
But recently I saw an application that kept its position out of the
main screen real estate. So judging from this, they have to adjust
themselves? Right?
--
Ingvar Nilsen
www.ingvarius.com
 

Re:Multi-Monitor Madness

ScreenSnap - how many years has that been there? It is false. No neg
coordinates. If I align the bottoms of the 2 monitors it works correctly.
If I am on the 1 monitor it works correctly. If tops aligned and less than
13 pixels from the top of monitor 2 the dialog somehow centers itself on
horizontal centers with the mainform. I am not calculating that number at
all. This is just too weird!
Russ
"Serge Dosyukov (Dragon Soft)" <pooh996.gmail.com>writes
Quote
Do you have ScreenSnap disabled?
I am not sure if it is really a two monitor problem
Also, do you have negative coordinates?

>I have a multi-monitor setup. Monitor 1 is 1600X1200, 2 is 1280X1024. I
>have the monitor setup with the tops equal. I have a small (in height)
>app
...


 

Re:Multi-Monitor Madness

I'd check procedure TCustomForm.SetWindowToMonitor; of Forms.pas. you might
get a clue.
try to copy a whole code into your form and see what is calculated and how.
Usually it helps to find a problem. Let us know about your result
"Russ" <XXXX@XXXXX.COM>writes
Quote
ScreenSnap - how many years has that been there? It is false. No neg
coordinates. If I align the bottoms of the 2 monitors it works correctly.
If I am on the 1 monitor it works correctly. If tops aligned and less
than 13 pixels from the top of monitor 2 the dialog somehow centers itself
on horizontal centers with the mainform. I am not calculating that number
at all. This is just too weird!
 

Re:Multi-Monitor Madness

"Russ" <XXXX@XXXXX.COM>writes
Quote
I have a multi-monitor setup. Monitor 1 is 1600X1200, 2 is 1280X1024. I
There are a few QC's related to multi monitors, made a few myself.
One of the more annoying bugs pretty much requires you to keep the taskbar
bottom most.
Also make sure no window spans beyond the border of a screen.
 

Re:Multi-Monitor Madness

Quote
Serge, it is the application's responsibility to position itself, isn't
it? I have a multi monitor setup, but I also log on to my office
computer from home, using Remote Desktop.
When I do this, windows normally move in from the adjacent monitors to
the front monitor, automatically.
Normally, but not always. as you said it is a responsibility of the
application or what it matter underlying framework.
I did not yet see it properly working in many cases.
Quote
But recently I saw an application that kept its position out of the
main screen real estate. So judging from this, they have to adjust
themselves? Right?
So, it should work, otherwise it could be considered a bug.
I have fished out and fix most of them for my self, but not all of them. See
some of the QC reports on the subject... work in progress...
If you can identity part of the VCL code which could be improved, report on
it.
 

Re:Multi-Monitor Madness

"Serge Dosyukov (Dragon Soft)" <pooh996.gmail.com>wrote
Quote
... as you said it is a responsibility of the application or what it
matter underlying framework.
I did not yet see it properly working in many cases.
We are developing a system with three monitors of one size and
another of a larger size. It uses two 2-port NVIDIA adapters.
I cannot, so far, get the application to start in the same spot as
it was when it was stopped. I have spent about 15 hours
investigating the problem. --JohnH
 

Re:Multi-Monitor Madness

John Herbster writes:
Quote

"Serge Dosyukov (Dragon Soft)" <pooh996.gmail.com>wrote

>... as you said it is a responsibility of the application or what
>it matter underlying framework. I did not yet see it properly
>working in many cases.

We are developing a system with three monitors of one size and
another of a larger size. It uses two 2-port NVIDIA adapters.
I cannot, so far, get the application to start in the same spot as
it was when it was stopped.
What Delphi properties and functions do you use?
--
Ingvar Nilsen
www.ingvarius.com
 

Re:Multi-Monitor Madness

Works fine for me ;o) I have 4 monitors (2 positive, 2 negative on 2 cards).
Need a hand?
Quote
>... as you said it is a responsibility of the application or what it
>matter underlying framework.
>I did not yet see it properly working in many cases.

We are developing a system with three monitors of one size and
another of a larger size. It uses two 2-port NVIDIA adapters.
I cannot, so far, get the application to start in the same spot as
it was when it was stopped. I have spent about 15 hours
investigating the problem. --JohnH
 

Re:Multi-Monitor Madness

"Serge Dosyukov (Dragon Soft)" <pooh996.gmail.com>wrote
Quote
Works fine for me ;o) I have 4 monitors (2 positive, 2 negative on 2
cards).
Need a hand?
Yes, thanks. But not until I have time to work the problem.
As it is, the users, just have to move things into place once
every couple of weeks, when the system reboots.
Rgds, JohnH
 

Re:Multi-Monitor Madness

"Ingvar Nilsen" <XXXX@XXXXX.COM>wrote
Quote
What Delphi properties and functions do you use?
WindowsPlacement and Top, Left, etc.
But I am not going to work on the problem again
until I get more free time. Regards, JohnH
 

Re:Multi-Monitor Madness

"John Herbster" <herb-sci1_at_sbcglobal.net>writes:
Quote

"Serge Dosyukov (Dragon Soft)" <pooh996.gmail.com>wrote

>... as you said it is a responsibility of the application or what it
>matter underlying framework.
>I did not yet see it properly working in many cases.

We are developing a system with three monitors of one size and
another of a larger size. It uses two 2-port NVIDIA adapters.
I cannot, so far, get the application to start in the same spot as
it was when it was stopped. I have spent about 15 hours
investigating the problem. --JohnH


I have been having similar problems with my setup. I have got
two monitors on a single 2-port NVIDIA adapter. It almost seems
random which screen the app will appear on. I think it is a
function of the video drivers or something else, because I
mainly develop in D6.
OTOH, the D10 IDE only remembers where to open if you save the
desktop each time you modify some aspect of it. I wish there
were a setting that would you say to save the desktop settings
each time you closed the IDE.
-David