Hallo!
Diese Komponente verpasst einem Formular einen Skin. Dabei geht es
nicht um die Komponenten auf dem Formular, sondern um den Rand und die Titelleiste des Formulars.
Dafür wird das eigentliche Fenster in einem Containerfenster eingebettet, das die Darstellung der Ränder übernimmt.
http://www.sj-berlin.de/service/df/s..._Titledemo.png
Weitere Screenshots siehe unten im Folgepost einzeln als Anhang oder direkt hier:
http://www.sj-berlin.de/service/df/s...screenies.html
Ein Editor für das visuelle Erstellen oder Editieren von Styles ist ebenfalls vorhanden, auch Hovereffekte werden visuell dargestellt.
Die Integration in die Komponente und die Delphi-
IDE steht noch aus.
Ein Forum zum Support und mit weiteren Informationen findet ihr hier:
http://sjberlin.de/forum/viewforum.php?f=3
Dies ist die Weiterführung des Projektes TXStyleForm von obbschtkuche:
http://www.delphi-forum.de/viewtopic.php?p=148096
Features:- Eigene Bilder für die verschiedenen Teile des Fensterrahmens und der Titelleiste sowie deren Knöpfe
- Einstellung der Größe der verschiedenen Teile des Fensters
- Alphablendingunterstützung *neu*
- Unterstützung einer transparenten Farbe *neu*
- Graustufenbilder für Fenster, die nicht den Fokus haben *neu*
- Aktivierbar / deaktivierbar zur Laufzeit *neu*
- Styleauswahl zur Laufzeit *neu*
- Styleeditor mit exakter Livevorschau *neu*
(*)
Neu heißt im Vergleich zum ursprünglichen TXStyleForm.
Lizenz:
MPL 1.1 oder
GPL 2.0 oder
LGPL 2.1
Installation:
Das Setup ausführen oder:
- Das Zip-Archiv auspacken
- Den Unterordner Source dem Bibliothekspfad hinzufügen
- Das Package installieren
Bei Verwendung des Setups sollte als Ziel der Installation ein anderes als das voreingestellte Verzeichnis benutzt werden, da dieses recht lang ist.
Das Setup und das danach ausgeführte Tool sollte die Installation automatisch vornehmen. Delphi 2007 und 2009 funktionieren damit noch nicht richtig, da ist nach wie vor eine manuelle Nacharbeit bei der Installation des Packages notwendig.
Verwendung:- Die Komponente TStyleComponent aufs Formular legen
- XStyleForm in die uses Liste hinzufügen
Delphi-Quellcode:
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, XStyleComponent, XStyleForm;
- Aus class(TForm) in der Formulardeklaration TXStyleForm machen
Delphi-Quellcode:
type
TForm1 = class(TXStyleForm)
XStyleComponent1: TXStyleComponent;
private
...
- Eigenschaften selbst definieren oder bei OpenFile den kompletten Dateinamen inkl. Pfad zu einer der Skindateien angeben
- Mit der Eigenschaft XStyleEnabled z.B. im Ereignis OnCreate den Style aktivieren oder deaktivieren. Standardmäßig ist dieser deaktiviert.
Unterstützte Delphiversionen:
Delphi (3), 5, 6, 7, 2005, 2006, 2007 und 2009
(Delphi 3 visualisiert nicht, ob das Fenster den Fokus hat und das Fenster kann beliebig klein gezogen werden.)
Unterstützte Windowsversionen:
Getestet unter Windows 95, 98, ME, 2000, XP, Vista
- Den gesamten Quelltext noch einmal überarbeiten, auch was verschiedene Delphiversionen angeht. *fertig*
- Einen automatischen Installer erstellen. *Alpha verfügbar*
- Den Editor in die Komponente integrieren und für die Delphi-IDE verfügbar machen. *in Planung*
- Einen Experten für die Delphi IDE integrieren, der die nötigen Umstellungen selbst macht. *nur Idee*
- ...
Die Version 1.2 mit dem Experten in der
IDE plane ich dann für Mitte Mai, Ende Juni soll es dann die Version 2.0 mit komplett überarbeiteter Implementierung der Komponente mit integriertem Editor geben.
Bekannte Probleme:- Unter Delphi 2009 gibt es wegen der Umstellung des bisherigen unsichtbaren Application Fensters Probleme mit dem Knopf auf der Taskleiste. *teilweise behoben*
Das solls fürs Erste gewesen sein, im Anhang gibts den Quelltext inkl. und ohne kompilierte Demo und Editor.
Die Komponente habe ich auch im
DF und dem DT vorgestellt:
http://www.delphi-forum.de/viewtopic.php?p=551018
http://forum.delphi-treff.de/showthread.php?t=26292
Die Changelogs veröffentliche ich jetzt nicht mehr hier sondern im Forum in den entsprechenden Threads:
http://sjberlin.de/forum/viewtopic.php?f=5&t=3&p=3 (Changelog der Version 1.1)
Schönen Gruß,
Sebastian