AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Form auf sekundären Bildschirm platzieren.

Ein Thema von bra_parametrix · begonnen am 2. Mai 2012 · letzter Beitrag vom 3. Mai 2012
Antwort Antwort
bra_parametrix

Registriert seit: 3. Jul 2008
Ort: Köniz
19 Beiträge
 
Delphi 2006 Enterprise
 
#1

Form auf sekundären Bildschirm platzieren.

  Alt 2. Mai 2012, 15:12
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
Stefan
  Mit Zitat antworten Zitat
bernerbaer
(Gast)

n/a Beiträge
 
#2

AW: Form auf sekundären Bildschirm platzieren.

  Alt 2. Mai 2012, 15:35
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.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#3

AW: Form auf sekundären Bildschirm platzieren.

  Alt 2. Mai 2012, 16:04
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)
$2B or not $2B
  Mit Zitat antworten Zitat
bra_parametrix

Registriert seit: 3. Jul 2008
Ort: Köniz
19 Beiträge
 
Delphi 2006 Enterprise
 
#4

AW: Form auf sekundären Bildschirm platzieren.

  Alt 3. Mai 2012, 09:39
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.
Stefan
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.682 Beiträge
 
Delphi 5 Professional
 
#5

AW: Form auf sekundären Bildschirm platzieren.

  Alt 3. Mai 2012, 18:57
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? 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
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#6

AW: Form auf sekundären Bildschirm platzieren.

  Alt 3. Mai 2012, 20:40
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.
$2B or not $2B
  Mit Zitat antworten Zitat
Antwort Antwort


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 13:32 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