AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Verzerrtes Programm-Icon in der Taskleiste und im Programmfenster
Thema durchsuchen
Ansicht
Themen-Optionen

Verzerrtes Programm-Icon in der Taskleiste und im Programmfenster

Ein Thema von Tahtu · begonnen am 25. Dez 2016 · letzter Beitrag vom 30. Dez 2016
 
Tahtu
(Gast)

n/a Beiträge
 
#27

AW: Verzerrtes Programm-Icon in der Taskleiste und im Programmfenster

  Alt 30. Dez 2016, 19:10
Dann sollte es eigentlich in Ordnung sein.
Danke, JA!

Ich meine nicht die Icons sondern den DPI Kram.
Ich glaube, das ist dieser Teil der .manifest Datei:
Code:
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" >
 ...
  <asmv3:application>
    <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2011/WindowsSettings">
      <dpiAware>true</dpiAware>
    </asmv3:windowsSettings>
  </asmv3:application>
 ...
</assembly>
Merke die DPI wird nicht Automatisch skaliert bei normalen Anwendungen
Ohne ein Hinweis in der .manifest Datei geht Windows davon aus, dass das Programm nicht skaliert - und übernimmt die Skalierung für das Programm.

Das Programm selbst generiert dabei 96 (100%) DPI - sowohl für Grafiken, als auch für Schrift. Windows skaliert das dann auf die DPI Einstellungen von Windows. Dabei werden Schrift und Grafik also hochgerechnet - aber durch die höhere Auflösung bleibt es bei der selben Größe auf dem Bildschirm (gemessen in cm). Aber natürlich unscharf.

Mit dem Eintrag in der .manifest Datei muss das Programm die Ausgabe entsprechend der Windows DPI Einstellung bereitstellen, die dann direkt auf dem Bildschirm angezeigt wird.

Hier erfolgt die Skalierung also im Programm. Z. B. verwende ich in meinem Diagrammen immer ein feste Anzahl von Pixel pro Linie. Oft 1, teilweise 2 und selten 3 Pixel - je nach Windows DPI Einstellung (Screen.PixelsPerInch).

Dadurch sehen auch (alte) Programme ohne entsprechenden .manifest Eintrag immer noch ähnlich aus, aber halt unscharf.

Falls dich das nächer interessiert bei Microsoft unter "DPIaware" googlen. Bei www.helpandmanual.com gibts gute PDFs zu dem Thema. Falls du möchtest, such ich dir die Infos...

Welcher Tipp war es denn jetzt genau?
Ich hatte folgende Zeile in meinem .dpr (noch von vor ca. 10 Jahren, damals unter Delphi 7):
Code:
Application.Icon.Handle := LoadImage(hInstance, 'MAINICON', IMAGE_ICON, Application.Icon.Height, Application.Icon.Height, LR_DEFAULTCOLOR);
Daher wurde das 32x32 Icon verwendet. Mein Fehler...

Geändert von Tahtu (30. Dez 2016 um 19:19 Uhr)
  Mit Zitat antworten Zitat
 


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 14:59 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz