Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi XP Visual Styles für Controls in DLL´s (https://www.delphipraxis.net/97188-xp-visual-styles-fuer-controls-dll%B4s.html)

Heffalump 6. Aug 2007 14:48


XP Visual Styles für Controls in DLL´s
 
Hallo zusammen,

folgenden Infos habe ich zu diesem Thema gefunden. Allerdings fällt mir die Umsetzung mit Delphi schwehr:
Zitat:

To create a manifest and enable your application to use visual styles.

1. Include the common controls header file as follows:
#include "commctrl.h"

2. :gruebel: Compile your application with the -DISOLATION_AWARE_ENABLED flag or insert the following statement before the #include "windows.h" statement.
#define ISOLATION_AWARE_ENABLED 1

3. Add a file called YourApp.manifest to your source tree that uses the XML manifest format.

4. Add the following statement to your application.
#define MANIFEST_RESOURCE_ID 2

5. Add the manifest to your application's resource file as follows:
MANIFEST_RESOURCE_ID RT_MANIFEST "YourApp.manifest"
Das die ID nicht 1 sondern 2 sein muss, habe ich verstanden. Nur wie bekomme ich das mit 2. hin?

RavenIV 6. Aug 2007 14:53

Re: XP Visual Styles für Controls in DLL´s
 
Es gibt bei Delphi eine Komponente XPManifest.
Diese setzt Du auf das Hauotformular der DLL und schon werden alle Forms im XP-Style dargestellt.

Heffalump 6. Aug 2007 14:56

Re: XP Visual Styles für Controls in DLL´s
 
Lesen ...

Mir ist bekannt, das diese Komponente gibt.

1. sorgt diese dafür, dass das Manifest nicht mit der ID 2, sondern mit der ID 1 gespeichert wird.
2. geht es mir um den beschriebenen Compilerschalter bzw. der beschriebenen Ausweichmöglichkeit.

DGL-luke 6. Aug 2007 16:10

Re: XP Visual Styles für Controls in DLL´s
 
Hallo,

deine Anleitung oben gilt für irgendeinen C++-Compiler, wahrscheinlich den vom VS.

Erstell dir dein Manifest selber, als XML-Datei, und häng es dann als Ressource in die Exe oder leg es dazu. Vorlagen solltest du hier im Forum genügend finden.



http://luke.delphigl.com/resist.png

Heffalump 6. Aug 2007 17:22

Re: XP Visual Styles für Controls in DLL´s
 
Mir geht es nicht um das Manifest. Das alleine bringt es nicht. Habe doch den für mich nicht verständlichen Punkt mit einem SM markiert :gruebel: .

DGL-luke 6. Aug 2007 17:25

Re: XP Visual Styles für Controls in DLL´s
 
Hallo,

dann schnapp die die windows.h und schau was die macht, wenn

#define ISOLATION_AWARE_ENABLED 1

definiert ist.

Wie gesagt, da hängt noch ein Compiler-Flag dran. Ich weiß nicht, was das macht, das können dir nur die VS-Gurus sagen. Und ich hab keien Ahnung, wie du das in Delphi nachbildest.

EDIT: Also wie du die Resource-ID auf zwei kreigst is ja wohl klar - du hängst das manifest als zweite ressource in dein ressourcen-skript...

Heffalump 11. Aug 2007 19:29

Re: XP Visual Styles für Controls in DLL´s
 
Liste der Anhänge anzeigen (Anzahl: 1)
Nach dem mich das Thema keine Ruhe gelassen hat, ich ein bischen Suche im I-Net, Microsoft SDK und ein bischen "Forschung" betrieben habe, bin ich auf eine Lösung gekommen. Source liegt dem Beitrag bei. Die Komponenten sind nur für DLL´s, ActiveX Controls gedacht und funtionieren nicht!!! in EXE Dateien.

Leider war ich bei den Komponenten: TRadioGroup, TGroupBox und TRichEdit nicht erfolgreich.

Wer es ausprobiert und dabei auf Fehler trifft, bitte melden. Vieleicht kommt jemand auch auf die Lösung, wie die nicht funktionierenden Komponenten (TRadioGroup, TGroupBox und TRichEdit) eingebunden werden können.

DGL-luke 11. Aug 2007 19:35

Re: XP Visual Styles für Controls in DLL´s
 
Ich glaube das liegt daran, dass TRadioGroup und TGroupBox proprietäre VCL-Sachen sind, sprich nicht einfach ein bestimmtes Windows-Control wrappen, sondern selbst rummurksen.
Und das Delphi-TRichedit basiert auf irgendeiner uralten Version des Richedit-Cintrols von Windows, die natürlcih in Windows weiterhin drin ist, aber nicht die neuen Styles implementiert.

Hab ich mir jetzt mal so aus altem Halbwissen zusammengereimt...

Heffalump 11. Aug 2007 19:38

Re: XP Visual Styles für Controls in DLL´s
 
Das Dumme ist nur, dass bei der Verwendung der Komponenten in Verbindung mit dem XP Manifest in einer Exe der XP Style verwendet wird.

DGL-luke 11. Aug 2007 19:51

Re: XP Visual Styles für Controls in DLL´s
 
Jo, ich würd mal vermuten, dass die VCL mitkriegt, dass Visual Styles an sind und das dann wieder selber implementiert - allerdings nur in exen.


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