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/)
-   -   Form auf sekundären Bildschirm platzieren. (https://www.delphipraxis.net/168049-form-auf-sekundaeren-bildschirm-platzieren.html)

bra_parametrix 2. Mai 2012 14:12

Form auf sekundären Bildschirm platzieren.
 
Ich möchte ein Form auf dem sekundären Bildschirm platzieren. Der Hauptbildschirm (links) hat 1920 x 1200 Pixel, der sekundäre (rechts) 1280 x 1024.

Ich rufe das Form aus der Anwendung, die auf dem sekundären Bildschirm läuft auf. Wenn ich diesem Form per SetBounds einen Platz auf dem 2. Bildschirm zuweise (top = 200, left = 2200) erwarte ich es auf dem rechten Bildschirm. Stattdessen ist es auf dem linken Bildschirm am rechten Rand.

Hat jemand eine Idee, wie ich das Form auf den rechten Bildschirm "setzen" kann?

Vielen Dank und Grüsse

bernerbaer 2. Mai 2012 14:35

AW: Form auf sekundären Bildschirm platzieren.
 
ungetestet:
Delphi-Quellcode:
 
if Screen.MonitorCount > 1 then
   Form2.Left:=Screen.Monitors[1].Left
else
   Form2.Left:= 0;
wobei hier vorher natürlich eine Überprüfung der Anordnung und Konfiguration der Monitore gemacht werden sollte, sofern das Programm auf mehr als einem PC läuft. Monitore können unterschiedlich angeordnet werden (links, rechts, oben, unten) oder so konfiguriert werden, dass auf mehreren Monitore das gleiche angezeigt wird.

himitsu 2. Mai 2012 15:04

AW: Form auf sekundären Bildschirm platzieren.
 
Gibt im D2006 schon irgendwas davon?

Delphi-Referenz durchsuchenTForm.DefaultMonitor (vor dem Anzeigen setzen)
Delphi-Referenz durchsuchenTForm.MakeFullyVisible (oder nach dem Anzeigen aufrufen)

Dort kannst du die Position (WorkingArea) der Monitore auslesen, falls du es manuell setzen willst:
Delphi-Referenz durchsuchenScreen.MonitorCount
Delphi-Referenz durchsuchenScreen.Monitors (Delphi-Referenz durchsuchenMonitor.WorkareaRect)

bra_parametrix 3. Mai 2012 08:39

AW: Form auf sekundären Bildschirm platzieren.
 
Vielen Dank.

Ich habe den Fehler gefunden. Die Funktion, die testet ob das neue Form nicht über den Bildschirm raus geht, hat Screen.Width anstatt Screen.DesktopWidth verwendet.

Dalai 3. Mai 2012 17:57

AW: Form auf sekundären Bildschirm platzieren.
 
Zitat:

Zitat von bra_parametrix (Beitrag 1164673)
Die Funktion, die testet ob das neue Form nicht über den Bildschirm raus geht, hat Screen.Width anstatt Screen.DesktopWidth verwendet.

Schreibst du von mir ab? :lol: Im Ernst: das kommt mir bekannt vor, hab einen sehr ähnlichen Fehler in einem meiner Programme gemacht, nur dass es nicht um ein Formular ging sondern um ein TPopupMenu.

MfG Dalai

himitsu 3. Mai 2012 19:40

AW: Form auf sekundären Bildschirm platzieren.
 
Zitat:

Zitat von Dalai (Beitrag 1164759)
Schreibst du von mir ab? ........

Ich sollte mir morgen mal einen Code ansehn, den ich letzen oder vorletzen Monat verbrockt hab und wo es auch um sowas ging.

Kann mich aber nicht an DesktopWidth erinnern ... nicht daß dort auch ein With drin steckt. :stupid:


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:47 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