Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Eigene Form u. DB-Komponenten -> XP-Style (https://www.delphipraxis.net/23091-eigene-form-u-db-komponenten-xp-style.html)

Bernhard Geyer 31. Mai 2004 12:07

Re: Eigene Form u. DB-Komponenten -> XP-Style
 
Zitat:

Leider funktioniert XP Theming per Manifestdatei nicht z.B. mit DBComboBox u.a. Komponenten! Das ist mein erste Problem gewesen, aber dann hab ich ja durch euer Forum die XP Thememanger Komponente von dem Entwickler des XP Manifest Komponente aus Delphi 7 gefunden! Mit der Manifestdatei ist eben nicht alles im XP Style vor allem viele DB Komponenten nicht...
Das liegt vermutlich daran, das in Delphi 5 (welches Du vermutlich verwendest) noch nicht alle Komponenten für XP-Theming-Kompatibel waren (Da XP erst nach D6 herauskam auch nicht verwunderlich). Die einfach Möglichkeit mit dem XP-Manifest teilt XP nur mit, das die Anwendung grundsätzlich gethemed gezeichnet werden soll. Und wenn manche DB-Controls in D5 sich nicht so registrieren das XP weiß das diese mit Themes gezeichnet werden soll, so bleiben diese halt "ungethemed". Der XP Themesmanger wird dieses unvermögen der Controls korrigieren.

Icemanemp 31. Mai 2004 12:20

Re: Eigene Form u. DB-Komponenten -> XP-Style
 
Also irgendwie glaube ich, das wir hier aneinander vorbei reden!
Ich rede von dem XP ThemeManager von Mike Lischke. http://www.delphi-gems.com !!

Dieser bietet auch an das die DB-Komponenten im XP Style angezeigt werden...

Diese Komponenten habe ich gemeint. Und mich hat eben nur interessiert, wie und wann ich die Unit und das Objekt ThememangerDB von Mike Lischke in unser Form integrieren soll oder ob ich es in jedes unsere Komponenten integrieren soll? Mir geht es nur darum beim gesamtkompilat, das jede Nacht über Batchdateien ausgeführt wird am nächsten Morgen ne Version rauskommt, die im XP Style ist! Da ich nicht jede unsere ca. 85000 (ich glaub so viel warens) pas datein verändern möchte und die ThememangerDB KOMPONENTE!!! einfügen möchte! Von meine Lösungsansatz über das verändern der eigenen Form dürfte dies doch gelingen oder?

Bernhard Geyer 31. Mai 2004 12:35

Re: Eigene Form u. DB-Komponenten -> XP-Style
 
In der Beschreibung steht:
Zitat:

...and modifies some controls to match the general theme look
D.h. ist einmal ein Themes-Manger aktiv, so wird vermutlich per Hooking die Registrierung/Zeichnenroutine modifiziert.

Und nachdem ich einen Schnelltest gemacht habe, reicht es das der Manager einmal im Programm aktiv ist. Am einfachst legt man den Manager auf das Hauptformular, da dieses während der ganzen Programmlaufzeit aktiv ist.

Icemanemp 31. Mai 2004 12:39

Re: Eigene Form u. DB-Komponenten -> XP-Style
 
In unserem Produkt wäre das dann die Menüleiste, wo alle anderen Programm, die in DLLs kompiliert werden aufgreufen werden.

Geht das dann dort auch oder nicht? Ich meine das die Thememanger XP Komponente dann auch Programm die in einer DLL ausgelagert wurden umzuzeichnen. Da unsere Menüleiste das einzigste Programm ist das immer auf ist... oder ist es dann doch besser den ThemeManager in unser eigene Form (BForm) aufzunehmen?

Bernhard Geyer 31. Mai 2004 12:45

Re: Eigene Form u. DB-Komponenten -> XP-Style
 
Wenn Deine Funktionaltät jeweils in einer DLL liegt dort immer nur ein Formular geöffnet wird, so schaut es schlecht aus. Du wirst dann vermutlich in jedes DLL-Formular eine Manager-Komponente legen müssen.
Der Manager der Exe hat keine Möglichkeit die Controls in der DLL zu Hooken.

Falls Deine DLL-Formular alle eine eigene Basis-Klasse (nicht TForm) haben, so könntest Du den Themes-Manager dort per Code im Konstrukor erzeugen lassen.

Icemanemp 31. Mai 2004 12:49

Re: Eigene Form u. DB-Komponenten -> XP-Style
 
Genau das wollte ich hören!

Wenn ich die Thememanger Obejkte erzeuge und dann die XP-Theming Methode ausführe, werden dann auch eigene Komponenten, die auf VCL-Komponenten basiern bzw. abgeleitet sind auch gethemed? Oder Kann man das nicht einfach beantworten?

Wenn net dann probier ich es üer die Erzeugung de Objektes im Konstruktor unserer Form aus!

Danke

Bernhard Geyer 31. Mai 2004 12:54

Re: Eigene Form u. DB-Komponenten -> XP-Style
 
Wenn die Basis-Klasse gethemed wird und

- keine eigene Zeichenroutine verwendet wird
- Basisfunktionen für Fenstererzeugung nicht überschrieben werden

so wird auch die abgeleitete Klasse gethemed. (Gerade mit Ableitung von TBitBtn getestet)

Icemanemp 31. Mai 2004 15:05

Re: Eigene Form u. DB-Komponenten -> XP-Style
 
OK dann werd ich das morgen auf der Arbeit testen!

Danke nochmal, falls es Probleme gibt dann schreib ich wieder hier rein...

Icemanemp 2. Jun 2004 16:01

Re: Eigene Form u. DB-Komponenten -> XP-Style
 
Hab jetzt diesen Code...

Delphi-Quellcode:
    FThemeManager := TThemeManager.Create(Self);
    FThemeManagerDB := TThemeManagerDB.Create(Self);

    if Assigned(FThemeManager) then
    begin
      FThemeManager.ClearLists;
      FThemeManager.CollectForms;
    end;

    if Assigned(FThemeManagerDB) then
    begin
      FThemeManagerDB.ClearLists;
      FThemeManagerDB.CollectForms;
    end;
in unser BForm beim Create reingemacht, leider passiert gar nix! Beim Destroy wird auch alles ordentlich zerstört, aber beim Create passiert schon gar nix! Bitte helft mir ;) ich weiss nicht warum das nix passiert?


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:54 Uhr.
Seite 2 von 2     12   

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