Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   DLL mit Forumular (https://www.delphipraxis.net/217190-dll-mit-forumular.html)

calibra301 19. Mai 2025 06:48

DLL mit Forumular
 
Hallo,

ich benutze ich vielen meiner Anwendungen Alphatools fürs Skinning.
Kommt leider aus der Ukraine und seit 2 Jahren ist die Homepage nicht aktualisiert worden.
Package für Delphi 12 gibts aber ich würde mich lieber davon verabschieden und die Skinningmöglichkeiten
von Delphi 12 nutzen.

Eines der Projekte ist leider eine DLL.
Der Menüpunkt "Optionen" -> "Anwendung" -> "Erscheinungsbild" ist da nicht vorhanden.
Weiss jemand ob man das auch manuell nutzen kann ?

BerndS 19. Mai 2025 07:36

AW: DLL mit Forumular
 
Ich vermute mal, dass das Manifest der Exe das Verhalten der DLL bestimmt.
Aber man kann auch die Window API benutzen um das manuell zu setzen.

Ich verwende dazu SetThreadDpiAwarenessContext, da ich das Verhalten der Exe / DLL einstellbar ist.

Hier noch die dafür möglichen Parameter aus der Winapi.Windows:
Delphi-Quellcode:
const
  DPI_AWARENESS_CONTEXT_UNAWARE: DPI_AWARENESS_CONTEXT               = DPI_AWARENESS_CONTEXT(-1);
  DPI_AWARENESS_CONTEXT_SYSTEM_AWARE: DPI_AWARENESS_CONTEXT          = DPI_AWARENESS_CONTEXT(-2);
  DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE: DPI_AWARENESS_CONTEXT     = DPI_AWARENESS_CONTEXT(-3);
  DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2: DPI_AWARENESS_CONTEXT  = DPI_AWARENESS_CONTEXT(-4);
  DPI_AWARENESS_CONTEXT_UNAWARE_GDISCALED: DPI_AWARENESS_CONTEXT     = DPI_AWARENESS_CONTEXT(-5);

jaenicke 19. Mai 2025 09:05

AW: DLL mit Forumular
 
Man kann die VCL Styles auch manuell setzen, z.B. im initialization:
Delphi-Quellcode:
    TStyleManager.LoadFromFile('Windows10Dark.vsf');
    TStyleManager.TrySetStyle('Windows10 Dark');
Einfacher wäre es mit Runtime Packages. Dann verwendet die DLL automatisch den Style der Exe, weil die Objekte wie Application nur einmal existieren.

Zitat:

Zitat von BerndS (Beitrag 1548674)
Ich vermute mal, dass das Manifest der Exe das Verhalten der DLL bestimmt.

Es geht um VCL Styles, nicht um das Theming von Windows.

BerndS 19. Mai 2025 09:39

AW: DLL mit Forumular
 
@jaenicke
Ups, war wohl noch zu früh.:oops:


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:10 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