Multi-Monitor + CLX

I know that CLX does not include multi-monitor support (yet!), but can someone point me to a practical work around?

I'm developing a cross-platform CLX application, and on Windows many users will have dual display's (but probably not on Linux). I'd like be  sure dialog boxes, about screens, splash screen etc position Desktop or Screen Center properlly.

[poScreenCenter and poDesktopCenter don't work correctly in CLX apps, as noted in the Help files]

Thanks
rwiredAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

gmayoCommented:
It may depend on the graphics card used to do multi display (or the drivers for them) (this is Windows, not Linux). For example, the Matrox cards (G200 and G400?) we use don't display correctly using the DefaultMonitor property, and return the entire width/height of the desktop (eg 2048x768 for a 2-screen display). However, Colorgraphics cards return the width of each monitor seperately and *do* display the DefaultMonitor option correctly. According to Colorgraphic, the way they do it is correct according to MS standards (but they would say that).

One problem with Matrox is that even-numbered screens (eg 2x2) cause the dialog boxes to appear on the border between the left/right monitors and the top/bottom monitors. You could always initialise the dialog to appear on the primary screen, which is normally top-left, by using fixed left/top positions for the form (Position=Designed).

I know that's not much help, just pointing out the problems we've already had.

Geoff M.
0
rwiredAuthor Commented:
Thanks,

I feared it was specific to video drivers.

Still, I'd be interested in finding a nice clean workaround, which will work for a CLX app. Maybe I could use a compiler directive or similar to make a suitable API call to find out the true monitor dimensions/count etc.,  then override TScreen with a modified object with my own property value. I really don't know.
Any help will be much appreciated.

0
odissey1Commented:
Hi all,

I have same problem in Win2k. From all spoken above it seems that on Windows platform there should be no problem to ShowModal a form positioned in the center of the Desktop. Yet, all my ShowModal calls result in a window in-between the monitors. I tried all settings in Form2.DefaultMonitor - no success. Any ideas?

Sincerely,
odissey1
env D7, Win2k, ATI graphic adapter
0
Cloud Class® Course: Microsoft Exchange Server

The MCTS: Microsoft Exchange Server 2010 certification validates your skills in supporting the maintenance and administration of the Exchange servers in an enterprise environment. Learn everything you need to know with this course.

NFX1Commented:
Always use poScreenCenter
0
odissey1Commented:
To NFX1,

thank you for tip.

odissey1
0
moduloCommented:
PAQed with points refunded (300)

modulo
Community Support Moderator
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Delphi

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.