AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Delphi-PRAXiS - Lounge Klatsch und Tratsch Mehrere Monitore - Fensterposition

Mehrere Monitore - Fensterposition

Ein Thema von API · begonnen am 12. Feb 2013 · letzter Beitrag vom 12. Feb 2013
Antwort Antwort
API

Registriert seit: 18. Apr 2004
636 Beiträge
 
#1

Mehrere Monitore - Fensterposition

  Alt 12. Feb 2013, 07:33
Moin,

ich besitze 2 Monitore. Ein Programm ist auf dem 2. Bildschirm platziert und öffnet seine Dialogfenster leider immer auf dem primären Bildschirm. Was kann man dagegen tun, so dass diese auch auf demselben Screen geöffnet werden?

API

Geändert von API (12. Feb 2013 um 07:38 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#2

AW: Mehrere Monitore - Fensterposition

  Alt 12. Feb 2013, 09:18
Wenn es eine Option ist poMainFormCenter oder poOwnerFormCenter für die Dialoge zu verwenden ...
Ansonsten, herausfinden auf welchem Monitor das Hauptfenster angezeigt wird und den Offset des Dialogs anpassen

Delphi-Quellcode:
Function GetMonitorIndex4Form(F:TForm):Integer;
var
 i:Integer;
 IR:TRect;
begin
  I := -1;
  for I := 0 to Screen.Monitorcount - 1 do
    begin
       IntersectRect(IR, Screen.Monitors[i].BoundsRect,F.BoundsRect);
       if EqualRect(IR,F.BoundsRect) then Result := i;
    end;
end;


.....

var
 mi:Integer;
begin
  mi := GetMonitorIndex4Form(self);
  if mi>-1 then
    begin
      FormX.Left := Screen.Monitors[mi].BoundsRect.Left + xxx;
      FormX.Top := Screen.Monitors[mi].BoundsRect.Top + yyy;
    end;
end;
Wenn das Form nicht ganz auf einem Monitor liegt (teilweise auf 2 Monitoren dargestellt wird) musst Du das ganze wunschgemäß anpassen.
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#3

AW: Mehrere Monitore - Fensterposition

  Alt 12. Feb 2013, 09:37
Je nach Delphi Version hat TForm auch eine Property "DefaultMonitor". Die ist mir auch lange nicht aufgefallen, aber in diesem Zusammenhang echt nützlich
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
API

Registriert seit: 18. Apr 2004
636 Beiträge
 
#4

AW: Mehrere Monitore - Fensterposition

  Alt 12. Feb 2013, 09:59
Danke für die Antworten. Die Frage habe ich unter "Klatsch und Tratsch" gestellt, da diese nichts mit Delphi zu tun hat...
  Mit Zitat antworten Zitat
jensw_2000
(Gast)

n/a Beiträge
 
#5

AW: Mehrere Monitore - Fensterposition

  Alt 12. Feb 2013, 10:24
Hat auch jemand eine Lösung für die Standard-Dialoge (TOpenDalog, TSaveDialog ...)?
Die gehen bei mir immer auf dem Monitor "1" auf und es gibt keine DefaultMonitor oder Position Properties.
Bei 4 Monitoren bekommt man schnell einen "Tennis-Nacken", wenn man permanent den Kopf drehen muss um seinen Dialog zu suchen
  Mit Zitat antworten Zitat
jensw_2000
(Gast)

n/a Beiträge
 
#6

AW: Mehrere Monitore - Fensterposition

  Alt 12. Feb 2013, 10:31
Danke für die Antworten. Die Frage habe ich unter "Klatsch und Tratsch" gestellt, da diese nichts mit Delphi zu tun hat...
Verstehe ich nicht ...

Es ist zwar "ganz unten" ein Effekt der Win32 API, aber wir als Delphi Programmierer erstellen unsere Dialoge doch über Delphi Klassen ...

Ist K&T wirklich die richtige Sparte für eine fachliche Anfrage?

Grüße
Jens
  Mit Zitat antworten Zitat
CCRDude

Registriert seit: 9. Jun 2011
675 Beiträge
 
FreePascal / Lazarus
 
#7

AW: Mehrere Monitore - Fensterposition

  Alt 12. Feb 2013, 10:42
Ich denke er spricht Programme an, die er nicht selber mit Delphi erstellt hat, sondern allgemein im Alltag verwendet.
  Mit Zitat antworten Zitat
jensw_2000
(Gast)

n/a Beiträge
 
#8

AW: Mehrere Monitore - Fensterposition

  Alt 12. Feb 2013, 10:53
Ich denke er spricht Programme an, die er nicht selber mit Delphi erstellt hat, sondern allgemein im Alltag verwendet.
Ahhh, Jetzt machts Klick !
Manchmal denkt man wirklich um zu viele Ecken ....


Zitat von API:
Was kann man dagegen tun, so dass diese auch auf demselben Screen geöffnet werden?
Bei einigen Grafikkartentreibern gibt es die Option, Dialoge auf dem "aktiven" Monitor anzuzeigen, auf dem sich gerade die Maus befindet ...
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:10 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz