AGB  ·  Datenschutz  ·  Impressum  







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

Windows 10 HighDPI

Ein Thema von hoika · begonnen am 30. Jul 2018 · letzter Beitrag vom 31. Jul 2018
Antwort Antwort
Seite 1 von 2  1 2      
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#1

Windows 10 HighDPI

  Alt 30. Jul 2018, 20:14
Hallo,
also irgendwie bekomme ich das nicht hin.

https://www.helpandmanual.com/downloads_delphi.html
Dort gibt es eine Tutorial für HighDPI.

aber egal, was ich mache

Label1.Caption:= IntToStr(Screen.PixelsPerInch);

Es wird immer 96 angezeigt.

Das folgende Manifest habe von der Seite.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
publicKeyToken="6595b64144ccf1df"
language="*"
processorArchitecture="*"/>
</dependentAssembly>
</dependency>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel
level="asInvoker"
uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
<asmv3:application xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
<asmv3:windowsSettings
xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
<dpiAware>True/PM</dpiAware>
</asmv3:windowsSettings>
</asmv3:application>
</assembly>


Ich nenne meine Manifest-Datei für projekt1.exe dann einfach projekt1.exe.manifest.
Die Datei wird aber nicht erkannt.
Immer steht im Label 96.
Was muss ich denn noch machen??
Heiko
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#2

AW: Windows 10 HighDPI

  Alt 30. Jul 2018, 20:25
Logisch oder? PixelsPerInch sind nun mal 96..
Du solltest die DPI schon berechnen..

Und wunder es hat nichts mit WIn10 zu tun.

gruss
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Windows 10 HighDPI

  Alt 30. Jul 2018, 20:28
Hallo,
deaktiviere ich unter Projekt-Optionen die Laufzeit-Themes, klappt es bei einem neuen Projekt.
Bei 125% ergibt das PixelsPerInch=120 (96*1.25) wie erwartet.

Bei meinem anderen existierenden Projekt bekomme ich immer 96, egal, was ich unter Windows für eine Skalierung einstelle.

Das hatte ich schon mal bei einem anderen Projekt.
Muss wohl die DPROJ wieder neu erzeugen ;(


Was meinst Du mit berechnen?
Genau das machte bis Windows8.1 (da ging der Murks los) das Screen.PixelPerInch immer selber.
Ab dem Zeitpunkt ging das mit dem Manifest los, um Windows daran zu hindern, selber zu skalieren,
was meistens sehr vermurkst aussieht.
Heiko

Geändert von hoika (30. Jul 2018 um 20:32 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

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

AW: Windows 10 HighDPI

  Alt 30. Jul 2018, 20:39
deaktiviere ich unter Projekt-Optionen die Laufzeit-Themes, klappt es bei einem neuen Projekt.
Logisch. Die Aktivierung der Option Laufzeit-Themes sorgt für ein Einbetten eines Manifests in das Kompilat. Die Standardeinstellung von Windows ist, externe Manifeste zu ignorieren, wenn es bereits ein eingebettetes gibt. Deswegen erstellt man in vielen Fällen ein eigenes Manifest und bindet selbiges ein und lässt die Option Laufzeit-Themes deaktiviert.

Grüße
Dalai
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#5

AW: Windows 10 HighDPI

  Alt 30. Jul 2018, 20:39
sorry hatte Screen.. davor übersehen.
Denke wenn du mal suchst bsp.
https://stackoverflow.com/questions/...ows-use-medium

wirst du etwas finden woran es liegen könnte.
Ich berechne das Ratio immer selbst.

bsp.
ratio := GetDeviceCaps(PaintBox.Canvas.Handle, LOGPIXELSX) / 96.0;

Zitat:
Logisch. Die Aktivierung der Option Laufzeit-Themes sorgt für ein Einbetten eines Manifests in das Kompilat

Das wird es wohl sein!

gruss

Geändert von EWeiss (30. Jul 2018 um 20:44 Uhr)
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Windows 10 HighDPI

  Alt 30. Jul 2018, 21:04
Hallo,
ja, deaktiviere ich die Laufzeitthemes bei einem neuen Projekt, klappt das.
Mein existierendes grosses Projekt zeigt immer 96 an trotz deaktivierten Laufzeitthemes.
Heiko
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#7

AW: Windows 10 HighDPI

  Alt 30. Jul 2018, 21:16
Hallo,
ja, deaktiviere ich die Laufzeitthemes bei einem neuen Projekt, klappt das.
Mein existierendes grosses Projekt zeigt immer 96 an trotz deaktivierten Laufzeitthemes.
Hmm.. hast du dann auch in diesen dein Manifest hinzugefügt?
In deiner Ressource und deaktivierter Laufzeittheme.

gruss
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.685 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Windows 10 HighDPI

  Alt 30. Jul 2018, 21:56
Schau doch mal in die .exe rein, Resource Explorer liegt Delphi ja bei, welches Manifest hat die .exe drinn?
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: Windows 10 HighDPI

  Alt 30. Jul 2018, 22:08
Hallo,
liegt wohl am IBDAC, der bringt ein Dummy-Manifest mit,
so ein Blödsinn!!!
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.685 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: Windows 10 HighDPI

  Alt 30. Jul 2018, 23:02
Zumindest weißt Du jetzt woran es liegt, ist doch auch was Wert
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 17:02 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