Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Meldungsfenster zwischen zwei Bildschirmen (https://www.delphipraxis.net/47102-meldungsfenster-zwischen-zwei-bildschirmen.html)

engine 6. Jun 2005 18:32


Meldungsfenster zwischen zwei Bildschirmen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo DP,


mein Programm wird auf einem Arbeitsplatz mit zwei Bildschirmen ausgeführt. Leider werden alle Fenster, außer das Hauptfenster, zwischen den beiden Monitoren angeordnet. Dies betrifft auch die Ausgaben über "MessageDlg". Siehe Anhang.

Hier im Forum habe ich schon die Hinweise auf
Delphi-Quellcode:
Form1.DefaultMonitor := dmPrimary;
Form1.Position := poScreenCenter;
gefunden und ausprobiert. Ich habe bei jeder Form die Eigenschaften im Objektinspektor gesetzt. Leider erfolglos.

Hat jemand Erfahrung mit dem verteilen der Fenster und Dialogboxen auf dem ersten oder zweiten Monitor? Über Hilfe würde ich mich sehr freuen.

engine 7. Jun 2005 20:14

Re: Meldungsfenster zwischen zwei Bildschirmen
 
*push*


Ich habe schon geahnt, das ich nicht viele Antworten zu diesem Thema erhalten werde.
Wer hat auch schon zwei Bildschirme an seinem PC. Und gerade deshalb bin ich für jeden Hinweis dankbar.

DP-Maintenance 7. Jun 2005 20:19

DP-Maintenance
 
Dieses Thema wurde von "Sharky" von "Multimedia" nach "VCL / WinForms / Controls" verschoben.
In dieser Sparte bekommst Du eher eine Antwort auf diese Frage glaube ich.

Sharky 7. Jun 2005 20:36

Re: Meldungsfenster zwischen zwei Bildschirmen
 
Hai engine,

Du kannst es ja einmal mit Delphi-Referenz durchsuchenMessageDlgPos versuchen. Dort kannst Du die Position des Dialoges angeben.
Wobei es eigentlich so ist das bei MessageDlg die Position automatisch auf poScreenCenter gesetzt wird.

BastardOp 7. Jun 2005 20:42

Re: Meldungsfenster zwischen zwei Bildschirmen
 
Hi ich kann ir zwar nicht direkt helfen aber hätte da trotzdem mal eine FRage an dich^^
Wie hast du es mit der Taskleiste geschafft das diese auf beiden Monitoren zu sehen ist? Ich habe eine ATI Karte und auch 2 Monitore jedoch bekomm ich die Taskleiste immer nur auf einem Monitor zu sehen.


Tut mir leid für die offtopic aber wollte das nur gern mal wissen

MfG
BastardOp

alcaeus 7. Jun 2005 20:45

Re: Meldungsfenster zwischen zwei Bildschirmen
 
Zitat:

Zitat von Sharky
Wobei es eigentlich so ist das bei MessageDlg die Position automatisch auf poScreenCenter gesetzt wird.

:gruebel: Ich hab das eben mal getestet (Delphi 7), und bei mir kamen ShowMessage, MessageDlg sowie Windows.MessageBox immer in der Mitte des primaeren Monitors :gruebel:

[add]
@BastardOP: bitte stelle deine Frage nochmal per PN. Die Frage hat hier wirklich nichts verloren
[/add]

Greetz
alcaeus

Sharky 7. Jun 2005 20:48

Re: Meldungsfenster zwischen zwei Bildschirmen
 
Es scheint fast so als würde bei engine das System "denken" es wäre nur ein Bildschirm vorhanden.

engine 7. Jun 2005 21:01

Re: Meldungsfenster zwischen zwei Bildschirmen
 
Hai Sharky,

Zitat:

Zitat von Sharky
Es scheint fast so als würde bei engine das System "denken" es wäre nur ein Bildschirm vorhanden.

Ja, das könnte der Grund sein. Ich kann das leider erst morgen überprüfen.

snapman 8. Jun 2005 02:52

Re: Meldungsfenster zwischen zwei Bildschirmen
 
Also irgendwas ist bei Engine anders als bei einem normalem DualMonitor System.

Er hat irgendeinen Treiber der das ganze so hindreht das XP denkt es ist ein Monitor, deshalb auch die Taskleiste die sich nahtlos über die Bildschirme erstreckt.

Dies ist alles andere als Standardkonform und daher wird er auch keine Chance haben das auf rechten Monitor zu zentrieren, da sein System das ganze als einen riesen Monitor wahrnimmt dessen Zentrum nunmal genau in der Mitte ist.

Mein Tipp: Deinstallier den Treiber oder was auch immer und installier UltraMon, damit hast du auchso eine Taskleiste auf Monitor 2!

engine 8. Jun 2005 19:03

Re: Meldungsfenster zwischen zwei Bildschirmen
 
Es ist tatsächlich so, das Windows die beiden Monitore als einen interpretiert. Dieser besitzt eine Auflösung von 2560 x 1024. Da beide Bildschirme gleich groß sind, ist die Mitte genau zwischen den beiden Monitoren. Somit arbeitet mein Programm auch korrekt.

Zitat:

Zitat von Sharky
Hai engine,

Du kannst es ja einmal mit Delphi-Referenz durchsuchenMessageDlgPos versuchen. Dort kannst Du die Position des Dialoges angeben.
Wobei es eigentlich so ist das bei MessageDlg die Position automatisch auf poScreenCenter gesetzt wird.

Ich werde nun die Dialoge mit Delphi-Referenz durchsuchenMessageDlgPos auf dem Hauptformular Zentrieren.

Zitat:

Zitat von snapman
Er hat irgendeinen Treiber der das ganze so hindreht das XP denkt es ist ein Monitor, deshalb auch die Taskleiste die sich nahtlos über die Bildschirme erstreckt.
...
Mein Tipp: Deinstallier den Treiber oder was auch immer und installier UltraMon, damit hast du auchso eine Taskleiste auf Monitor 2!

Es kommen spezielle CAD Grafikkarten mit speziellen Treibern zum Einsatz. Diese sind letztlich auch für das Programmverhalten verantwortlich.
Manchmal sieht man den Wald vor lauter Bäumen nicht....
Ich danke euch für die Hilfe.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:34 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz