![]() |
Screen DPI und TrayIcon Größe?
Ich verwende diesen Code zur Bestimmung des SCREEN DPI Wertes:
Delphi-Quellcode:
Könnt ihr bitte mal testen, ob sich die Pixelgröße der Tray Icons abhängig von diesem Wert ändert?
function GetScalingFactor: Integer;
// The function returns the number of pixels per logical inch along the screen width. Normally, this will be 96 // for a scaling of 100%. Higher values indicate higher scaling. // Once you have the scaling factor, you can make an educated guess about the tray icon size. For example, // if the scaling is 100% (96 DPI), a 16x16 icon is typical. For 200% (192 DPI), you might want to use a 32x32 icon. // Please note that this is not a foolproof method; it's more of an educated guess based on the system's DPI settings. var hdc: Winapi.Windows.HDC; begin hdc := GetDC(0); try Result := GetDeviceCaps(hdc, LOGPIXELSX); finally ReleaseDC(0, hdc); end; end; Zweck: Ich erzeuge das Icon für mein Tray Icon dynamisch zur Laufzeit. Auf meinem Bildschirm ergibt die Tray Icon Größe 32x32 Pixel. Aber das könnte bei anderen Bildschirmen ja anders sein. |
AW: Screen DPI und TrayIcon Größe?
Das Name stimmt aber nicht, denn die Funktion liefert nicht den Faktor zurück,
es sei denn du meintest z.B. SCALINGFACTORX anstatt LOGPIXELSX, oder beispielsweise
Delphi-Quellcode:
function GetScalingFactor: Single;
Result := GetDeviceCaps(hdc, LOGPIXELSX) / 96; PS: Die drei verwendeten API sollten eigentlich keine Exceptions werfen, sondern einen entsprechenden Rückgabewert ausgeben, weswegen per se das Try-Finally unnötig wäre, aber egal ... besser zuviel, als zu wenig. (und falls doch, dann ist alles sowas vom im A, so dass eh alles egal wäre) |
AW: Screen DPI und TrayIcon Größe?
Der Wert sollte auch direkt aus Screen.PixelsPerInch abgelesen werden können. Dort wird das nämlich im Create ziemlich ähnlich ermittelt:
Delphi-Quellcode:
DC := GetDC(0);
FPixelsPerInch := GetDeviceCaps(DC, LOGPIXELSY); ReleaseDC(0, DC); |
AW: Screen DPI und TrayIcon Größe?
Wie ändert sich aber die Tray-Icon Größe in Abhängigkeit zum SCREEN DPI?
|
AW: Screen DPI und TrayIcon Größe?
Zitat:
|
AW: Screen DPI und TrayIcon Größe?
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:42 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