AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Monitore und dessen Positionen anzeigen (Bildschirmanordnung)

Monitore und dessen Positionen anzeigen (Bildschirmanordnung)

Ein Thema von dGeek · begonnen am 18. Feb 2015 · letzter Beitrag vom 19. Feb 2015
Antwort Antwort
Seite 1 von 3  1 23   
dGeek
(Gast)

n/a Beiträge
 
#1

Monitore und dessen Positionen anzeigen (Bildschirmanordnung)

  Alt 18. Feb 2015, 18:51
Ich interessiere mich momentan dafür wie man sich seine Monitore, dessen Namen und Positionen anzeigen lassen kann.
Also die Bildschirmanordnung.

Was ich meine ist dieses Fenster welches man sieht wenn man seine Auflösung verändert. Oben werden ja alle Monitore mit einer Nummer markiert und dessen Positionen angezeigt.

Auch hier sieht man das mit einem Monitor schön:
http://www.chip.de/ii/6/4/9/6/8/6/5/...887c2b8862.png

Wie lässt sich so etwas realisieren?

Geändert von dGeek (18. Feb 2015 um 18:57 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Monitore und dessen Positionen anzeigen (Bildschirmanordnung)

  Alt 18. Feb 2015, 19:46
Delphi-Referenz durchsuchenScreen
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
BadenPower

Registriert seit: 17. Jun 2009
616 Beiträge
 
#3

AW: Monitore und dessen Positionen anzeigen (Bildschirmanordnung)

  Alt 18. Feb 2015, 19:50
Schau Dir einmel die Klassen TScreen und TMonitor an.

Wenn Du mehr Informationen zu den einzelnen Moitoren und Grafikeinstellungen benötigst musst Du auf die Windows-Api zurückgreifen.

Siehe dort zum Beispiel unter:
EnumDisplayDevices
EnumDisplaySettings
EnumDisplaySettingsEx
GetDeviceCaps
Programmieren ist die Kunst aus Nullen und Einsen etwas sinnvollen zu gestalten.
Der bessere Künstler ist allerdings der Anwender, denn dieser findet Fehler, welche sich der Programmierer nicht vorstellen konnte.
  Mit Zitat antworten Zitat
dGeek
(Gast)

n/a Beiträge
 
#4

AW: Monitore und dessen Positionen anzeigen (Bildschirmanordnung)

  Alt 18. Feb 2015, 20:01
Und genau da liegt ja der Hund begraben

Screen und Monitor sagen mir etwas.
Aber wie bekomme ich die Bildschirmanordnung heraus?
Bildschirm 2 ist ja nicht zwangsweise rechts, der kann auch oben, unten oder links sein.
  Mit Zitat antworten Zitat
BadenPower

Registriert seit: 17. Jun 2009
616 Beiträge
 
#5

AW: Monitore und dessen Positionen anzeigen (Bildschirmanordnung)

  Alt 18. Feb 2015, 20:10
Und genau da liegt ja der Hund begraben

Screen und Monitor sagen mir etwas.
Aber wie bekomme ich die Bildschirmanordnung heraus?
Bildschirm 2 ist ja nicht zwangsweise rechts, der kann auch oben, unten oder links sein.
Hast Du Dir einmal die Hilfe zu TMonitor angeschaut???

Da steht bei der Property "Top" zum Beispiel so ein netter Hinweis.

Zitat:
In Anwendungen mit mehreren Bildschirmen kann sich der verfügbare vertikale Anzeigebereich über mehrere Bildschirme erstrecken. Mit Top können Sie feststellen, wo sich der obere Rand des Bildschirms innerhalb des Gesamtbereichs befindet. Der Wert von Top wird relativ zum oberen Rand des Primärbildschirms in Pixel angegeben.
Es lohnt sich auch die anderen Propertys anzuschauen.
Programmieren ist die Kunst aus Nullen und Einsen etwas sinnvollen zu gestalten.
Der bessere Künstler ist allerdings der Anwender, denn dieser findet Fehler, welche sich der Programmierer nicht vorstellen konnte.
  Mit Zitat antworten Zitat
dGeek
(Gast)

n/a Beiträge
 
#6

AW: Monitore und dessen Positionen anzeigen (Bildschirmanordnung)

  Alt 18. Feb 2015, 20:12
Wenn es eine online-Hilfe gibt, gucke ich mir das gerne an.
Aber nach dem Update 3 für mein XE2 funktioniert meine Hilfe nicht mehr und alles neu zu installieren dauert zu lange

Ich sehe gerade dass das alles viel zu komplex für mich ich da blicke ich nicht durch.
Außerdem komme ich mit Monitor gar nicht klar, mit Screen schon.

Geändert von dGeek (18. Feb 2015 um 20:18 Uhr)
  Mit Zitat antworten Zitat
dGeek
(Gast)

n/a Beiträge
 
#7

AW: Monitore und dessen Positionen anzeigen (Bildschirmanordnung)

  Alt 18. Feb 2015, 20:31
Also wie ich die Positionen herausbekomme habe ich jetzt sehr laienhaft herausbekommen.

Aber wie kann ich das umrechnen und auf einem Form anzeigen lassen? Genau damit habe ich eben Probleme.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Monitore und dessen Positionen anzeigen (Bildschirmanordnung)

  Alt 18. Feb 2015, 21:07
Wieso laienhaft?

In Screen findet man die Monitore und in jedem Monitor die pixelgenaue Position und Größe.
Das kann man nun direkt bbenutzen, oder man rechnet es sich entsprechend um, auf die benötigte Größe. (Zoomen -> Prozentrechnung oder der geliebte Dreisatz)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
dGeek
(Gast)

n/a Beiträge
 
#9

AW: Monitore und dessen Positionen anzeigen (Bildschirmanordnung)

  Alt 18. Feb 2015, 22:02
Ich glaube das wird mit mir heute nichts mehr

Das folgende ist nur zum Testen. Aber die Shapes bzw das Shape wird immer oben links in den negativen Bereich gesetzt.
Solche Rechnungen sind zu kompliziert für mich

Delphi-Quellcode:
var
  p: TPoint;
  i: Integer;
  aShape: TShape;
begin
  for i := 0 to Screen.MonitorCount - 1 do
  begin
    p := Point(Screen.Monitors[i].Top, Screen.Monitors[i].Left);

    aShape := (FindComponent('Shape' + IntToStr(i + 1)) as TShape);
    aShape.Left := ScreenToClient(p).Y;
    aShape.Top := ScreenToClient(p).X;

    aShape.Width := Screen.Monitors[i].Width;
    aShape.Height := Screen.Monitors[i].Height;

    showmessage(IntToStr(aShape.Left) + ' - ' + IntToStr(aShape.Top));
  end;
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#10

AW: Monitore und dessen Positionen anzeigen (Bildschirmanordnung)

  Alt 18. Feb 2015, 22:14
Wenn es eine online-Hilfe gibt, gucke ich mir das gerne an.
Aber nach dem Update 3 für mein XE2 funktioniert meine Hilfe nicht mehr und alles neu zu installieren dauert zu lange

Ich sehe gerade dass das alles viel zu komplex für mich ich da blicke ich nicht durch.
Außerdem komme ich mit Monitor gar nicht klar, mit Screen schon.
Hach, so ein Mist aber auch ... wenn es nur sowas wie ein vernetztes Informationsdingen geben würde - man würde es glatt Internet nennen können - wo diese Informationen abrufbar wären ... das wär schön ..

Delphi-Referenz durchsuchenTScreen oder direkt für XE3 auf deutsch
http://docwiki.embarcadero.com/Libra....Forms.TScreen
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23   

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 09:12 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