AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Screen.width ist ungleich der Breite der Bildschirm-Auflösung

Screen.width ist ungleich der Breite der Bildschirm-Auflösung

Ein Thema von JanWe · begonnen am 2. Aug 2022 · letzter Beitrag vom 3. Aug 2022
Antwort Antwort
Benutzerbild von JanWe
JanWe

Registriert seit: 23. Mär 2015
Ort: NRW
74 Beiträge
 
Delphi 7 Personal
 
#1

Screen.width ist ungleich der Breite der Bildschirm-Auflösung

  Alt 2. Aug 2022, 22:49
Delphi-Version: 5
^^ height auch.
_______________________________________
doch der Reihe nach:

Hi,

ich hoffe, es wird nicht an Delphi 5 liegen.
Ich versteh gerade die Welt nicht mehr.

Meine Software: Win 10, Delphi 5 Std.

Bisher hab ich sonst immer die Bildschirmauflösung an meinem Laptop mit screen.height und screen.width ermittelt. (z.B. um Programme Fullscreen laufen zu lassen - Absolute Werte hab ich mir dabei nie notiert.)

Da gab es, meine ich nie Probleme.
Bilder wurden z.B. immer maximal angezeigt, wenn ich die image.width und .height am Screen.w/h orientiert/übernommen hab.


Bsp: (Original-Code) In der Form1.Create setze ich 2 Variablen mit den Screenwerten und die Größe der Form auf die Bildschirmwerte.
Delphi-Quellcode:
Screw := screen.Width;
Screh := screen.height;
BorderStyle := bsNone;
left := 0;
Top := 0 ;
Width:= Screen.Width;
Height := Screen.Height;
Wie ich das bisher immer gemacht habe.
Allerdings meldet screen mir 1536 x 864. (also Screw -> 1536 und Screh erhält 864) - wird beim Drüberfahren angezeigt und auch als Wert z.B. über clipboard ausgegeben.

Mach ich aber einen Screenshot mit nem Screenshotprogramm zeigt der 1920x1080.
(ich war zwar eigentlich der Meinung, damals nur 1600x800 eingestellt zu haben (weil mir das, was die Grafikkarte beim Laptop-Kauf auf dem kleinen 15" Bildschirm mal angezeigt hatte, zu schlecht zu erkennen war - ich hab die Icons und Programme kaum erkannt, der Mausweg war ewig. ... - vielleicht war das aber auch unter Win7 und unter Win10 hab ich nun ne höhere Auflösung - ich nehm jetzt mal an, die 1920x1080 stimmen)

Da ich seit Ewigkeiten, seit der Windows 10 Installation letztes Jahr nichts mehr verstellt habe, weiß ich auch gerade nicht, wo ich unter Windows die aktuelle Auflösung nachschauen könnte - die Suche bringt nichts.
unter nVidia-Einstlellungen find ich nur 3D, aber nix zur Auflösung. Bin grad etwas in Panik. Das muß man doch irgendwo finden können??? .


Also halte ich mich jetzt mal einfach an die Screenshots anderer Programme. Die 1920x1080 sollten stimmen.

Aber ich frage mich, wie Delphi auf ne Breite von 1536 px kommt.
OK, bei Form1.width - würd ich ja verstehen, daß der Wert schwankt, wenn ich die mit Boderstyle := bs_single in der Größe verschieben und ziehen würde.
Aber screen müßte doch den unverbiegbaren, realen Wert (1920x1080) angeben.

Bin ich denn doof?
Oder hab ich was übersehen?
oder ist Delphi 5 zu alt? Kann doch nich sein, oder?

Hab Euch 2 Screenshots hochgeladen.
Einmal von Firefox und der Seite hier (138 KB)
und einmal ein von der Form, den Delphi selbst von sich gemacht (10 KB) hat. (mache ich einen Screenshot von der Delphi Form (laufendes Programm, Taste "F9") mit einem anderen Screenshotprogramm, hat der natürlich 1920x1080; - [nicht hochgeladen])
Miniaturansicht angehängter Grafiken
screenshot1.jpg   form.jpg  
Jan
Allen ein gutes 2022!

Geändert von JanWe ( 2. Aug 2022 um 23:08 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
9.494 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Screen.width ist ungleich der Breite der Bildschirm-Auflösung

  Alt 3. Aug 2022, 08:40
Dein System hat offenbar eine Skalierung von 125%. Nachzusehen über das Kontextmenü des Desktops unter Anzeigeeinstellungen. Dort findest du übrigens auch die Bildschirmgröße.

Die 125% bewirken, dass Anwendungen, die kein High-DPI unterstützen (und Delphi 5 Programme gehören selbstverständlich dazu, weil Delphi 5 unabhängig von diesem Effekt ganz sicher viel zu alt ist - egal wofür), vom Betriebssystem vergrößert dargestellt werden und deswegen ihnen eine kleinere Größe vorgegaukelt wird.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
SteffenSchm

Registriert seit: 2. Nov 2004
Ort: Herzogenaurach
80 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: Screen.width ist ungleich der Breite der Bildschirm-Auflösung

  Alt 3. Aug 2022, 08:53
Ich denke mal für den Bildschirm ist eine Skalierung von 125 % eingestellt. 125% würde zumindest genau zu Deinen unterschiedlichen Pixelzahlen passen.
Ich hatte an anderer Stelle auch gerade Probleme, wenn die Skalierung <> 100% ist.

Ich wurde durch ein Telefonat abgehalten. Inzwischen hat Uwe Raabe das ja auch schon geschrieben!
Steffen
  Mit Zitat antworten Zitat
Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.071 Beiträge
 
Delphi 2007 Professional
 
#4

AW: Screen.width ist ungleich der Breite der Bildschirm-Auflösung

  Alt 3. Aug 2022, 13:07
Nur so zur Ergänzung: Die Einstellungen findet man unter Windows 10 mit Rechtsklick auf den Desktop-Hintergrund und dann "Display Settings" bzw. "Anzeigeeinstellungen". Also eigentlich wie schon bei Windows XP. Der Dialog sieht allerdings deutlich anders aus.
Thomas Mueller
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.048 Beiträge
 
Delphi 10.3 Rio
 
#5

AW: Screen.width ist ungleich der Breite der Bildschirm-Auflösung

  Alt 3. Aug 2022, 21:32
Bleibt trotzdem noch die Frage, ob man nicht Mal auf eine neuere Delphi Version wechseln könnte...
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
39.656 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Screen.width ist ungleich der Breite der Bildschirm-Auflösung

  Alt 3. Aug 2022, 21:45
Die Einstellungen findet man unter Windows 10 mit Rechtsklick auf den Desktop-Hintergrund und dann "Display Settings" bzw. "Anzeigeeinstellungen".
Wenn du via RDP auf Windows drauf bist, dann fehlen da viele Einstellungen/Anzeigen,

aber es versteckt sich dann auch ein "Erweiterte Einstellungen"-Link, in welchem sich eine disablete ComboBox befndet, worin das Display-Format sich versteckt.



Alternativ guckt man wie die RDP-Einstellungen sind und bei Vollbild, schaut man dann noch in die Anzeigeeinstellungen des lokalen Monitors.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014

Geändert von himitsu ( 3. Aug 2022 um 21:48 Uhr)
  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 05:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf