Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Library: Windows API / MS.NET Framework API (https://www.delphipraxis.net/20-library-windows-api-ms-net-framework-api/)
-   -   Delphi XP-Design in Delphi Anwendungen (https://www.delphipraxis.net/3666-xp-design-delphi-anwendungen.html)

mirage228 24. Mär 2003 16:45


XP-Design in Delphi Anwendungen
 
Liste der Anhänge anzeigen (Anzahl: 2)
WINDOWS XP DESIGN IN DELPHI


Wer nicht gerade die Version 7 von Delphi besitzt, dessen Anwendungen werden standardmäßig nicht das neue "XP-Design" benutzen!

Hier möchte ich erklären, wie man als Besitzer von Delphi Versionen unter 7 "XP-Design" in seine Anwendungen bringt!

Wollen wir uns als erstes das folgende Bild anschauen:

Anhang 31243

Lediglich das Fenster dieser Anwendung hat den "XP-Style", weil es Windows gezeichnet wird, der Rest besitzt noch den alten Windows-Style!

Wie bringt man nun den "XP-Style" in seine Anwendung?

Es ist denkbar einfach:
Man muss Delphi "sagen", es soll die Styles aus der neuen ComCtl32.DLL verwenden!
Das macht man, indem eine Ressourcen-Datei erstellt und sie in sein Programm einbindet!

Der ganze Vorgang lässt sich in drei Schritten durchführen.

Schritt 1:

Das Zauberwort hierfür heisst "Manifest".
Dementsprechend wird eine mit Datei mit dem Namen "Design.manifest" angelegt. Der Name ist beliebig, nur muss die Datei die Endung .manifest haben.

Man öffne die Datei mit "Editor" oder mit einem anderen Textprogramm und trage folgendes ein:

Code:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
    name="Firmenname.Programmname"
    processorArchitecture="x86"
    version="1.0.0.0"
    type="win32"/>
<description>Programmbeschreibung</description>
<dependency>
    <dependentAssembly>
        <assemblyIdentity
            type="win32"
            name="Microsoft.Windows.Common-Controls"
            version="6.0.0.0"
            processorArchitecture="x86"
            publicKeyToken="6595b64144ccf1df"
            language="*"
        />
    </dependentAssembly>
</dependency>
</assembly>
Die entsprechenden Einträge sind durch die Anwendungsspezifischen Informationen zu Ersetzen!


Als nächstes wird die Datei "Design.rc" angelegt. Der Name ist auch hier belieg, jedoch muss die Endung hier .rc lauten!

Die Datei ist wieder mit einem Editor zu öffnen.
Tragt folgendes in die Datei:

Code:
1 24 "design.manifest"
Ersetzt den Dateinamen gegebenenfalls!


Schritt 2:

Als nächstes muss die Ressourcen-Datei (.RES) erstellt werden. Borland stellt hierfür den "Borland Ressource Compiler" zur Verfügung. Die Datei heisst "brcc32.exe" und befindet sich im "Bin" Verzeichnis des Delphi Verzeichnisses.

Ruft die Datei über "Ausführen..." oder der "Eingabeaufforderung" auf:

<BIN-VERZEICHNIS-VON-DELPHI>brcc32.exe <PFAD>Design.rc

Beispiel:
C:\Programme\Borland\Delphi3\Bin\brcc32.exe C:\Design.rc

Ersetzt die entsprechenden Stellen durch eure spezifischen Dateinamen und Verzeichnisse!

Der Ressource Compiler hat nun die .RES Datei erstellt. In diesem Beispiel heisst die Datei "DESIGN.RES".


Schritt 3:

Im letzten Schritt muss die .RES Datei in das Projekt eingebunden werden. Wechselt zu dem Quelltext eures Hauptformulares
und sucht unter implementation die Zeile
Delphi-Quellcode:
{$R *.DFM}
.
Tragt darunter ein:
Delphi-Quellcode:
{$R DESIGN.RES}
(bzw. den entsprechenden Dateinamen)

Compiliert eure Anwendung anschließend neu!!



Eure Anwendung benutzt nun für die meisten Komponenten (bis auf einige Ausnahmen, die noch von der VCL gezeichnet werden)
das "XP-Design"!!

Das sieht in dem Beispiel so aus:

Anhang 31244



Tutorial von:
mirage228

[edit=Admin]IMG-Tags korrigiert. Mfg, Daniel[/edit]
[edit=Matze]Bilder als Inline-Attachments untergebracht. Mfg, Matze[/edit]

Daniel 2. Jan 2004 17:30

Re: XP-Design in Delphi Anwendungen
 
Anmerkung von unserem User aps:


Hi,

zum Artikel "Delphi-Programme im XP-Style" für Delphi bis Version 6 habe ich noch eine Ergänzung.
Und zwar steht dort, dass mit dem Manifest alle von Delphi selbst gezeichneten Controls noch im alten Stil gezeigt werden. Doch auch dafür gibt es Abhilfe: Mit dem XP ThemeManager von Mike Lischke. Ja, das ist das Original, welches auch Borland bei Delphi 7 beigepackt hat. Daher aus erster Quelle. Und auch für die alten Versionen kostenlos. http://www.delphi-gems.com

HTH

(Soll kein neuer Artikel sein, würde IMHO aber gut als Ergänzung oder Fußnote zu obigem Artikel passen)

CU
aps

Daniel 1. Feb 2004 09:46

Re: XP-Design in Delphi Anwendungen
 
Anmerkung von unserem User mirage228:

Windows XP Design mit Delphi 8 for .NET:

mit VCL.NET:
Die Unit Borland.Vcl.XPMan muss in die uses eingebunden werden.

mit WindowsForms:
In den Konstruktor Create des Formulars (meistens TWinForm.Create) muss die Zeile Application.EnableVisualStyles() eingefügt werden.

Nun hat man auch den Windows XP Style mit dem neuen Delphi 8 for .NET

mfG
mirage228


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