AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Wie kann mit D7 die Bildschirmauflösung ermittelt werden ?
Thema durchsuchen
Ansicht
Themen-Optionen

Wie kann mit D7 die Bildschirmauflösung ermittelt werden ?

Ein Thema von Skatspieler · begonnen am 1. Mai 2009 · letzter Beitrag vom 1. Mai 2009
Antwort Antwort
Skatspieler
(Gast)

n/a Beiträge
 
#1

Wie kann mit D7 die Bildschirmauflösung ermittelt werden ?

  Alt 1. Mai 2009, 09:55
Moin,

1.) wie kann ich mit Delphi 7.0 Prof. die Bildschirmauflösung eines oder mehrere Monitore ermitteln ?

2.) Wie kann ich mit Delphi 7.0 Prof. die Anzahl der angeschlossenen Monitore ermitteln ?

Danke vorab für wertvolle Infos.

Gruss, der Skatspieler
  Mit Zitat antworten Zitat
hadschi92

Registriert seit: 25. Okt 2006
83 Beiträge
 
Delphi XE3 Professional
 
#2

Re: Wie kann mit D7 die Bildschirmauflösung ermittelt werden

  Alt 1. Mai 2009, 10:04
Bei einem Monitor auf jeden Fall so: http://www.delphi-treff.de/tipps/sys...e%20ermitteln/
  Mit Zitat antworten Zitat
mr_emre_d
(Gast)

n/a Beiträge
 
#3

Re: Wie kann mit D7 die Bildschirmauflösung ermittelt werden

  Alt 1. Mai 2009, 10:34
Schau dir Folgendes an
GetSystemMetrics()
Code:
Interessante Parameter:
  SM_CXScreen
  SM_CYScreen
  SM_CMONITORS
  Mit Zitat antworten Zitat
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.990 Beiträge
 
Delphi 7 Professional
 
#4

Re: Wie kann mit D7 die Bildschirmauflösung ermittelt werden

  Alt 1. Mai 2009, 11:01
Moin, Moin.
Schau dir auch TScreen an, da gibt es mit Screen.WorkArea..., Screen.Monitor... etc. auch eine ganze Reihe von Informationen
Ralph
  Mit Zitat antworten Zitat
Skatspieler
(Gast)

n/a Beiträge
 
#5

Re: Wie kann mit D7 die Bildschirmauflösung ermittelt werden

  Alt 1. Mai 2009, 11:34
Erstmal danke für die Tipps.

Den ersten Tipp habe ich schon verwertet. Allerdings ist mein Compilat auf dem 2. Monitor plaziert, dieses gibt aber die Auflösungsdaten vom ersten Monitor zurück.

Ich muss mir heute abend dazu einige Gedanken machen, wie ich den Monitorstatus (1. + 2. Monitor) abfrage bzw. feststelle.

Gruss, der blaue Planet
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#6

Re: Wie kann mit D7 die Bildschirmauflösung ermittelt werden

  Alt 1. Mai 2009, 13:16
Siehe dazu EnumDisplaySettings(). Die Monitorstrings sind \\.\MONITOR1 bis \\.\MONITORx.

Es gibt genug Mirror-Driver, somit nicht davon ausgehen, dass es nur Monitor 1 und 2 gibt in einem Dual Screen System. Diese können mit EnumDisplayDevices() ermittelt werden.
  Mit Zitat antworten Zitat
Skatspieler
(Gast)

n/a Beiträge
 
#7

Re: Wie kann mit D7 die Bildschirmauflösung ermittelt werden

  Alt 1. Mai 2009, 17:47
Die Beiträge von #2 - #4 haben mich schonmal ein gutes Stück weitergebracht.

Ich kann die Anzahl der Monitore ermitteln mit Screen.MonitorCount

Ich kann einen Index auf die Monitor-Nr erzeugen wobei man dabei aufpassen muss dass man Monitor Nr -1
nimmt, da Zählung der Monitor Nr. ab 0 beginnt.

Über den Index bekomme ich auch die verschiedenen Auflösungen und Farbtiefe der Monitore korrekt
angezeigt.

Soweit so gut, letztes ungelöstes Problem ist aber folgendes:

Wie finde ich heraus auf welchen Monitor sich das Compilat aktuell befindet ?

Das Compilat soll den aktuellen Monitor bzw. die aktuelle Monitor Nr. ermitteln.

Ich könnte zwar den Umweg über Form1.Left gehen. Auf den Monitor 0 (erster Monitor) steht Left auf 1
wenn ich das Compilat dort korrekt ausrichte oder es steht, wenn ich es auf den 2. Monitor korrekt ausrichte bei -1023.

Allerdings finde ich die Umrechnung mit den Left-Werten recht müssig. Ich möchte einfach, dass das Programm mir ermittelt, dass es sich auf den ersten (0+1) oder auf den zweiten Monitor (1+1) oder einem weiteren Monitor (x+1) befindet. Normalerweise müsste es doch möglich sein, den aktuellen Monitor korrekt zu indizieren und zu ermitteln.

Vorschläge ?

Danke vorab für eure Unterstützung.

Gruss, der Skatspieler
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Wie kann mit D7 die Bildschirmauflösung ermittelt werden

  Alt 1. Mai 2009, 17:51
Eine Anwendung hiedenen fenster haben, welche sich auf verschiedenen Monitoren befinden können.
Mit Screen.MonitorFromWindow() kannst du für jedes Fenster den Monitor ermitteln
Markus Kinzler
  Mit Zitat antworten Zitat
Skatspieler
(Gast)

n/a Beiträge
 
#9

Re: Wie kann mit D7 die Bildschirmauflösung ermittelt werden

  Alt 1. Mai 2009, 18:29
Hallo mkinzler,

was muss ich bei deinem Beispiel in die Klammer eintragen, wenn das Fenster z. B. Form1 ist ?

Ich habe aber eine andere Lösung für mein Problem gefunden.

Meine Lösung sieht wie folgt aus:

Wert := Screen.ActiveForm.Monitor.MonitorNum + 1; // +1 da Zählung der Monitore ab 0 beginnt !

Gruss, der Skatspieler
  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:20 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