Einzelnen Beitrag anzeigen

Benutzerbild von almisoft
almisoft

Registriert seit: 14. Feb 2007
Ort: Berlin
40 Beiträge
 
Delphi 7 Professional
 
#1

Windows 10 und Scaled in Runtime

  Alt 12. Aug 2015, 12:20
Wenn ich unter Windows 10 die dpi hochsetze

Einstellungen -> Anzeige -> Bildschirm/Anzeige anpassen -> Ändern der Größe von apps, Text und andere Elemente -> 150%

und in Delphi die Form-Eigenschaft Scaled=True setze, wird das Fenster meiner Anwendung groß dargestellt.

So möchte ich es auch haben. Meine Anwendung soll auch auf Monitoren mit hoher Auflösung gut erkennbar sein.

Ich möchte dem Nutzer meiner Anwendung aber die Wahl lassen und habe eine CheckBox eingebaut, mit der man die Skalierung zur Laufzeit ein- und ausschalten kann.
Leider funktioniert es zur Laufzeit nicht. Die Skalierung meiner Anwendung ändert sich nur, wenn ich zur Entwurf-Zeit im Object Inspector Scaled auf True bzw. False setze, meine Anwendung neu kompiliere und neu starte.
Selbst ein Form1.Scaled:=true bzw. Form1.Scaled:=false in TForm1.FormCreate wird nicht berücksichtigt. Windows 10 schaut nur, was im Object Inspector steht...

Hat jemand eine Idee, wie man die Anwendung dazu zwingt, sich zur Laufzeit neu zu skalieren?


Im Manifest habe ich die Windows 10-ID hinzugefügt und auch dpiAware auf True gesetzt:

Code:
<?xml version="1.0" encoding="utf-8" ?>
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
  <assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
    <security>
      <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
        <requestedExecutionLevel level="asInvoker" uiAccess="false" />
      </requestedPrivileges>
    </security>
  </trustInfo>

  <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
    <application>
     <!-- Windows 8.1 -->
            <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
            <!-- Windows Vista -->
            <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
            <!-- Windows 7 -->
            <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
            <!-- Windows 8 -->
            <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
            <!-- Windows 10 -->
            <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>
    </application>
  </compatibility>

  <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>
</asmv1:assembly>
Alexander Miehlke
Alexander Miehlke
Wer Schreibfehler findet, darf sie behalten

Geändert von almisoft (12. Aug 2015 um 12:28 Uhr)
  Mit Zitat antworten Zitat