AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) auf gerenderte Skalierung von Windows reagieren
Thema durchsuchen
Ansicht
Themen-Optionen

auf gerenderte Skalierung von Windows reagieren

Ein Thema von BerndS · begonnen am 7. Feb 2013 · letzter Beitrag vom 14. Feb 2013
Antwort Antwort
BerndS

Registriert seit: 8. Mär 2006
Ort: Jüterbog
480 Beiträge
 
Delphi 11 Alexandria
 
#1

auf gerenderte Skalierung von Windows reagieren

  Alt 7. Feb 2013, 11:07
Hallo,
Seit Vista gibt es ja die Möglichkeit, dass die Fenster skaliert werden, ohne dass die Anwendung was davon "merkt" (z.B. 150% ohne den Haken DPI-Salierung um Stil von Windows XP verwenden).

Die Fenster werden dann vom System auf 150% gerendert.
Windows eigene Fenster und andere einige Anwendungen (z.B. IE) machen das aber nicht und werden scharf ungerendert dargestellt.

Bei der Vorschau vom Quickreport kommt es aber zu Problemen, da hier die Darstellung den Metafiles den Report um den Faktor 96/144 verkleinert im Vorschaubild darstellt (Siehe Anhang).

Mich würde jetzt interessieren, ob man diese Scalierung für den Canval abschalten kann, um den Inhalt scharf darzustellen?
Gruß Bernd
Miniaturansicht angehängter Grafiken
dec3a14826.png  
Bernd
  Mit Zitat antworten Zitat
BerndS

Registriert seit: 8. Mär 2006
Ort: Jüterbog
480 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: auf gerenderte Skalierung von Windows reagieren

  Alt 14. Feb 2013, 14:50
Hallo,
nach etwas suchen habe ich nun die Lösung gefunden.
Das Manifest der Anwendung muss noch um folgendes erweitert werden:
Code:
...
  <application xmlns="urn:schemas-microsoft-com:asm.v3">
    <windowsSettings>
      <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
    </windowsSettings>
  </application>
</assembly>
Da das mit dem zurzeit verwendeten Delphi2007 nicht automatisch geht, wenn Laufzeit-Themes aktivieren eingeschaltet ist,
(der IDE Experte ResEd 1.6.7 Editor kann das möglicher weise)
wird das bestehende Manifest per Build-Post Ereignis anschließend noch erweitert.
Dazu habe ich ein kleine Konsolenanwendung gemacht, die das Manifest extrahiert, die Zeilen einfügt und dann per mt.exe (...\Microsoft SDKs\Windows\v7.0A\Bin ) die Resource zurückschreibt.

Gruß Bernd
Bernd
  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 01:55 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