Solved

Multi-Monitor + CLX

Posted on 2003-12-01
7
383 Views
Last Modified: 2010-04-05
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
0
Comment
Question by:rwired
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
7 Comments
 
LVL 8

Expert Comment

by:gmayo
ID: 9857481
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
 

Author Comment

by:rwired
ID: 9873168
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
 
LVL 2

Expert Comment

by:odissey1
ID: 9885519
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
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 1

Expert Comment

by:NFX1
ID: 10231332
Always use poScreenCenter
0
 
LVL 2

Expert Comment

by:odissey1
ID: 10259133
To NFX1,

thank you for tip.

odissey1
0
 

Accepted Solution

by:
modulo earned 0 total points
ID: 13056296
PAQed with points refunded (300)

modulo
Community Support Moderator
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Introduction The parallel port is a very commonly known port, it was widely used to connect a printer to the PC, if you look at the back of your computer, for those who don't have newer computers, there will be a port with 25 pins and a small print…
Introduction I have seen many questions in this Delphi topic area where queries in threads are needed or suggested. I know bumped into a similar need. This article will address some of the concepts when dealing with a multithreaded delphi database…
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

738 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question