Entwickler-Ecke
Open Source Projekte - TXStyleForm reloaded 1.1 beta 4 - Formular mit Skin
jaenicke - Di 24.02.09 11:25
Titel: TXStyleForm reloaded 1.1 beta 4 - Formular mit Skin
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.
Weitere Screenshots siehe unten im Folgepost.
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:
Es gibt jetzt ein kleines Demovideo am Beispiel von Delphi 7:
http://www.sjberlin.de/service/videos/XStyleDemo.html- Die Komponente TStyleComponent aufs Formular legen
- XStyleForm in die uses Liste hinzufügen
Delphi-Quelltext
1: 2: 3:
| uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, XStyleComponent, XStyleForm; |
- Aus class(TForm) in der Formulardeklaration TXStyleForm machen
Delphi-Quelltext
1: 2: 3: 4: 5:
| 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
Weitere Planung:- 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*
- Die Constraints funktionieren nur im Skinmodus *behoben*
- Alphablending klappt nur im Skinmodus *behoben*
- Das Systemmenü des Fensters wird zwar angezeigt, funktioniert aber noch nicht *behoben*
- Es flackert relativ unschön beim Umschalten, evtl. lässt sich da noch was drehen *behoben*
- Die breiteren Ränder unter Vista z.B. bringen noch die selben Probleme wie ohne Skin. Das hat zwar eigentlich nur bedingt etwas mit der Komponente zu tun, aber vielleicht lässt sich das ja ändern. *behoben*
- Beim (schnellem) Verkleinern oder Vergrößern des Formulars treten Darstellungsfehler auf, die teilweise auch danach bestehen bleiben. *behoben*
- Die Randberechnung klappt nicht ganz ideal *behoben*
Das solls fürs Erste gewesen sein, im Anhang gibts den Quelltext inkl. und ohne kompilierte Demo und Editor.
Ich habe die Komponente jetzt auch in der DP und dem DT vorgestellt:
http://www.delphipraxis.net/post1005910.html
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
jaenicke - Di 24.02.09 11:32
Screenshots der Demo (im Anhang liegen
die selben Bilder, falls mein Server mal nicht erreichbar ist):
wird zu
Editor:
jaenicke - Do 26.02.09 18:53
So, eine neue Version ist da. Diese enthält bisher nicht viele offensichtliche Änderungen, aber ich habe folgendes geändert:
- Getestet und Packages sowie Demo- und Styleeditor-Versionen für Delphi 6, 7, 2006, 2007 und 2009 erstellt (für 2005 sollte das von 2006 passen, Test steht noch aus)
- Getestet unter Windows 95, 98, ME, 2000, XP, Vista
- Den gesamten Quelltext zu einem großen Teil standardkonformer benannt (ständige Kleinschreibung z.B. etwas korrigiert)
- Ein Setup ist jetzt erhältlich, das genau die Dateien für ein oder mehrere spezifische Delphiversionen in ein Verzeichnis entpackt. Das soll später dann diese natürlich auch direkt installieren, aber das kommt erst noch. Da muss ich aber erst ganz genau testen, damit nix kaputt geht. ;-)
Bei den Tests habe ich gemerkt, dass ich mit älteren Delphiversionen doch ein Problem bekomme.
Delphi 3 werde ich voraussichtlich nicht unterstützen. Delphi 5 lässt sich zwar kompilieren, produziert aber Darstellungsfehler. Beides schaue ich mir noch an,
es kann aber sein, dass ich alles vor Delphi 6 nicht unterstützen werde.
(Ich habe noch eine Idee wie ich beide Probleme direkt beheben kann, mal schauen ob das klappt.)
jaenicke - Fr 27.02.09 06:26
So und wieder eine neue Version:
- Das Flackern beim Aktivieren zur Laufzeit wurde weitgehend unterdrückt
- Auch Delphi 5 wird jetzt komplett unterstützt
- Auch Delphi 3 wird eingeschränkt unterstützt, allerdings wird die Titelleiste nicht grau, wenn das Fenster nicht den Fokus hat, außerdem kann man das Fenster sehr klein ziehen
Die Downloads sind alle aktualisiert.
jaenicke - Fr 27.02.09 19:41
Leider hat sich beim Unterdrücken des Flackerns ein Fehler eingeschlichen. Der wurde vorhin in der DP gemeldet. Das Problem ist, dass ich das Resizen bzw. genauer gesagt dessen Behandlung teilweise unterdrückt habe. Leider nicht nur in dem richtigen Fall, sondern auch wenn es benötigt würde.
Das habe ich jetzt wieder behoben, es sollte also jetzt weder flackern noch Darstellungsfehler geben.
Die Downloads sind wieder aktualisiert.
Webo - Fr 27.02.09 20:06
Find ich gut, das sich jemand an die Weiterführung des Projekts von obbschtkuche gemacht hat. Ich hab die Komponente von ihm schon öfters benutzt, jetzt ist ja wieder aktuell, werde sie glaub ich wieder häufiger einsetzen.
Lob an die
jaenicke, dass du dich dran gesetzt hast !
Edit: Funktioniert einwandfrei bei mir unter D7 und D2009 !
jaenicke - Sa 28.02.09 06:33
Ich dachte schon ich führe hier Selbstgespräche, freut mich, dass es jemand brauchen kann. ;-)
Jetzt habe ich nochmal alles überarbeitet und einiges optimiert. Im Detail:
- Das Flackern ist jetzt so weit wie möglich reduziert, vor allem was das Umschalten von Styles angeht ist es jetzt drastisch reduziert und kaum noch vorhanden
- Die Randberechnung stimmt jetzt, egal ob unter XP oder Vista und egal mit welchem Style, der Clientbereich sollte genau die gleiche Größe haben und die Komponenten genauso drauf liegen (vor allem was den Abstand zum rechten Rand angeht). Auch mit Anchors.
Getestet habe ich das allerdings erst einmal nur mit Delphi 2006.
- Einige kleinere Fehler wurden behoben.
Da die Fehler soweit weitgehend behoben sind, deklariere ich diese Version einmal als Beta 1. Neue Features wird es in der Version 1.1 nicht mehr geben, ich werde mich nur noch um die letzten Fehler kümmern.
Das Alphablending werde ich nochmal komplett überarbeiten, dann sollte der Fehler raus sein, für den mit den Constraints muss ich nur noch einmal die Abläufe genau überdenken denke ich. Beides wird also bald fertig sein.
Für die Version 1.2 habe ich mir dann die komplette Überarbeitung der Komponente und die Integration des Editors in die IDE vorgenommen. Im Moment ist das einfach etwas umständlich.
Webo - Sa 28.02.09 10:37
Wie macht man das jetzt am besten, die neue Komponente zu installieren ?
Muss ich jetzt die alte alpha Version erst deinstallieren (sowas find ich nämlich nicht unter D2009) oder einfach die neue "drüber" installieren ?
Ich hab noch mal ne Frage so zum Editor: Beim alten Projekt konnte man nur bestehende Skins bearbeiten, ich würde aber auch mal gerne eigene erstellen ! Planst du sowas im Editor auch ?
jaenicke - Sa 28.02.09 10:57
Dank toms aus der Delphi-Praxis funktioniert jetzt auch das Systemmenü. Die Downloads sind aktualisiert.
Webo hat folgendes geschrieben : |
Wie macht man das jetzt am besten, die neue Komponente zu installieren ?
Muss ich jetzt die alte alpha Version erst deinstallieren (sowas find ich nämlich nicht unter D2009) oder einfach die neue "drüber" installieren ? |
Überschreibe einfach die Dateien und installiere das Package erneut, das reicht schon. Sollte da einmal mehr nötig sein, schreibe ich das dazu.
Ach ja, auch wenn das hier nicht nötig ist: Deinstallieren findest du bei 2009 unter Komponente --> Packages installieren..., dann das Package in der Liste auswählen und darunter Entfernen drücken. ;-)
Aber ich plane erst einmal keine weiteren Dateien hinzuzufügen oder zu entfernen. Unter anderem deshalb gibt es auch so viele fast identische Dateien für die verschiedenen Delphiversionen. Sollte eine Anpassung nötig sein, kann ich das direkt machen ohne dass sich bei der Benutzung etwas ändert.
Webo hat folgendes geschrieben : |
Ich hab noch mal ne Frage so zum Editor: Beim alten Projekt konnte man nur bestehende Skins bearbeiten, ich würde aber auch mal gerne eigene erstellen ! Planst du sowas im Editor auch ? |
Wenn du alles ersetzt, dann ist es ja wie ein neuer Skin. Ich kann natürlich auch noch einen Resetknopf hinzufügen, aber eigentlich musst du ja so oder so nur alles neu einstellen. ;-)
MDX - Sa 28.02.09 15:38
Ich hab einen Bug gefunden:
Und zwar wenn man das Design zur Laufzeit verändert, verschwindet das Programm aus der Taskleiste!
Ansonten :zustimm: das du weitermachst!
jaenicke - Sa 28.02.09 15:49
MDX hat folgendes geschrieben : |
Und zwar wenn man das Design zur Laufzeit verändert, verschwindet das Programm aus der Taskleiste! |
Mit welchem Delphi und welchem Betriebssystem? Tritt das auch mit der mitgelieferten kompilierten Exe auf?
Denn den Fehler kann ich hier nicht reproduzieren, ich habs erstmal mit Delphi 2006 sowie XP und Vista getestet. Aber auch sonst hätte mir sowas eigentlich auffallen müssen, wenn es bei mir passiert wäre. :gruebel:
Aber ich schau mal, ob mir auffällt wo sowas passieren könnte, so viel Quelltext wird dabei eigentlich gar nicht ausgeführt.
// EDIT;
Auch mit Delphi 2009 gehts hier, aber dafür habe ich dort Grafikfehler entdeckt, das muss ich gleich mal beheben.
jaenicke - Sa 28.02.09 19:54
Ja stimmt, bei Delphi 2009 verschwindet das unter Vista bei mir gleich beim Aktivieren des Skins. Dafür funktioniert die Fenstervorschau auch im minimierten Zustand, da wurde also einiges geändert.
Ich schau mir das einmal an, das sollte sich ja leicht beheben lassen.
jaenicke - Mo 02.03.09 02:44
Also den Button in der Taskleiste zu bekommen war einfach, dafür reicht am Ende dieser Zusatz:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| SetWindowLong(Container.Handle, GWL_EXSTYLE, GetWindowLong(Container.Handle, GWL_EXSTYLE) or WS_EX_APPWINDOW); Container.Visible := True; inherited Visible := True; end; end;
end. |
Aber aus irgendeinem Grund wird der Titel des Fensters nicht angezeigt, obwohl das Containerfenster den Titel eigentlich zugewiesen bekommen hat. :gruebel:
Und beim minimieren ist der Eintrag in der Taskleiste auch wieder weg.
Aber das werde ich vermutlich auch noch hinbekommen, am Alphablending und den Constraints bin ich auch dran.
jaenicke - Di 24.03.09 05:04
So, es gibt eine neue Version. Ich habe den Alphablending- und Transparenzsupport komplett neu geschrieben, was allerdings nach ein wenig Überlegung nur wenig Quelltext erforderte.
Zusätzlich habe ich das automatische Setup als Alpha veröffentlicht. Das Setup erkennt den Installationsstatus der Komponente in den installierten Delphiversionen. Die ausgewählten Packages werden dann kompiliert und der Pfad zu den Units in den Suchpfad eingetragen.
Dafür muss nach der Ausführung des Setups das Tool gestartet werden. Dieses ist nur in dem Setup enthalten.
Das Tool funktioniert leider unter Delphi 2007 und 2009 noch nicht richtig. In diesen Versionen besteht auch noch das Problem mit dem Taskleisteneintrag.
Ich empfehle bei Ausführung des Setups einen anderen Pfad zu benutzen als voreingestellt ist, da der Pfad zu den Anwendungsdaten meistens relativ lang ist.
(Da aber jeder einen anderen Pfad für Komponenten benutzt, war das die beste voreingestellte Variante.)
Ich plane einen Ausbau des automatischen Installers und die Behebung der letzten beiden Fehler in der Komponente. Dann werde ich noch einen RC veröffentlichen und dann, wenn keine Probleme auftauchen, die Final. Geplant habe ich das für Mitte bis Ende April.
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.
elundril - Di 24.03.09 11:14
funktioniert das auch mit teilweisem Alphablending? also das ich zum beispiel nur einen kreis in der mitte mit transparenz ausstatten kann und den rest undurchsichtig lasse?
lg elundril
jaenicke - Di 24.03.09 11:57
Nein, es funktioniert genau wie sonst mit den internen Methoden via AlphaBlend und AlphaBlendValue. Mit Regionen müsste ich schauen wie sowas geht, prinzipiell kann ich das dann auch umsetzen, ich weiß jetzt wo ich das dann machen müsste.
jaenicke - Di 24.03.09 23:48
Ich habe mal geschaut, ich denke das könnte ich einbauen. Fragt sich wie du dir das genau vorstellst. Also möchtest du eine Region für den transparenten Bereich selbst erstellen und übergeben?
Dann noch eine Info:
Ich habe jetzt ein Supportforum aufgemacht um mehr Raum und Übersicht für Diskussionen und Informationen zu haben. Ich werde hier im ersten Beitrag dann ein paar unwichtigere Informationen wie das Changelog entfernen und in das Forum umlagern.
http://www.sjberlin.de/forum/viewforum.php?f=3
Damit sollte der Beitrag mit dem Download hier deutlich übersichtlicher werden. Wichtige Informationen bleiben natürlich auch hier stehen.
elundril - Mi 25.03.09 00:01
hmm, ich hätt so zwei ideen dazu:
1) vl mit einem einenen Bild das graustufen ist und die transparenz mit diesem bild dann erstellen
2) vl. mit PNG.
auf jeden fall sollte man halt einen Aero-Style für deine Komponente erstellen kann :mrgreen:
lg
jaenicke - Mi 25.03.09 08:01
Also ich habe es mir angeschaut. Prinzipiell bekomme ich es hin, dass ein gewisser Rand zu einem eingestellten Grad transparent wird, was ja dann dem Aero-Look etwas näher kommt.
Ob ich da einen Weg finde, dass sich das einfach benutzen lässt, muss ich noch schauen, vor allem ob und wie ich das insgesamt mit der normalen Transparenz kombinieren kann. :gruebel:
jaenicke - Mo 30.03.09 09:43
Für die aktuelle Version werde ich diese Woche einen Release Candidate veröffentlichen, die Fehler in der Komponente selbst habe ich soweit behoben, ich baue aber noch einen Vista-Fix gleich mit ein statt per Sonderbehandlung verschiedener Versionen von Delphi oder Windows Fehler beizubehalten. Deshalb dauert es noch ein paar Tage.
Ich habe mir den Wunsch nach einem transparenten Rahmen jetzt angeschaut und mit der Planung für Version 2.0 angefangen. (Vorher wird es aber noch eine Zwischenversion auf Basis des alten Codes geben.)
Folgendes habe ich jetzt geplant:
- Neue Codebasis, ich schreibe die Komponente von Grund auf neu, übernehme aber natürlich Teile des Codes.
- Ein transparenter Rahmen oder teilweise transparenter Rahmen wird möglich sein. Auch abgerundete Ecken werden definierbar sein. Ob die Transparenz dann nur exklusiv auf Rahmen oder Fensterinhalt anwendbar sein wird, bin ich noch nicht sicher.
- Es wird keine Komponente mehr notwendig sein. Damit funktioniert XStyleForm dann auch in Turbo Delphi. Stattdessen wird es einen DLL-Experten geben, der im Projektmenü einen Menüpunkt für die Definition des Styles bietet. Die angegebenen Styles werden dann per Ressource automatisch direkt in die Exe einkompiliert.
- Diese vorhandenen Styles werden als Liste zur Anzeige einer Auswahl für den Benutzer angeboten.
- Die Styles werden Autorinformationen usw. zur Verwaltung bekommen.
- Der Styleeditor wird auch in der Exe vorhanden und benutzbar sein, damit auch die Benutzer weitere Styles erstellen können.
- Der automatische Installer wird überarbeitet und sollte dann besser konfigurierbar und zuverlässiger sein.
Aufgrund dieser Überlegungen wird der geplante Termin (Ende Juni) wohl nicht haltbar sein. Genaueres kann ich erst nach der Planung sagen, derzeit sammele ich noch Überlegungen.
Wichtig: Wenn noch jemand Featurewünsche hat, dann schreibt es bitte jetzt, damit ich ggf. dies gleich in die Planung einfließen lassen kann. Spätere Wünsche werde ich nicht so gut berücksichtigen können, das muss dann ggf. bis zur nächsten Version warten.
jaenicke - So 12.04.09 05:30
Ich habe soeben die beta 3 hochgeladen. Das Problem mit den Constraints ist behoben, das Problem mit Vista und Delphi 2007 und 2009 größtenteils.
Das zu beheben hat länger gedauert, weil ich auch noch die Reparatur für Vista generell eingebaut habe. Die Benutzung von XStyleForm sorgt also auch gleich dafür, dass unter Vista die Vorschau und Taskumschaltung usw. korrekt funktioniert, auch mit Delphi 2006 und früher.
Das hat leider andere Probleme mit sich gebracht, die ich erst noch ausführlich testen muss, aber zumindest bei einem einzelnen Formular sollte es immer funktionieren, nur beim Minimieren über das Systemmenü verschwindet der Taskleistenbutton noch.
Was die Transparenz des Rahmens angeht, so habe ich damit einige Probleme, das habe ich bisher nicht zufriedenstellend hinbekommen.
Abgerundete Ecken habe ich in einer anderen Version bereits eingebaut, dort werde ich die Korrekturen dieser Version noch einbauen, dann wird zumindest das schon einmal bald funktionieren.
umpani - Di 02.03.10 10:46
Hallo,
ich habe folgendes Problen mit der Komponente.
Die Anzeige bzw das Erstellen von Skins funktioniert einwandfrei. Allerdings scheint die Komponente irgendwie die "FsStyOnTop"-Einstellung zu killen.
Ich habe drei Forms in meinem Programm. Zwei davon sind "OnTop" und eine soll im Hintergrund stehen. Alle drei sind mit der Komponente geskinnt.
Jetzt ist es aber so, dass egal welche Form aktiv ist, diese auch in den Vordergrund gesetzt wird, wenn die Kompo aktive ist.
Kennt jemand eine Lösung?
Gruß Umpani
chickenfigt1989 - Sa 01.05.10 12:11
Hey
Wollt mir deine Komponente installieren allerdings mit dem Auto Setup kommt immer
Fehler bei der Installation und wen ich die Package manuell installiere kommt immer das hier:
[Error] XStyleForm.pas(406): Undeclared identifier: 'PopupParent'
[Error] XStyleForm.pas(407): Undeclared identifier: 'PopupParent'
[Fatal Error] XStyleContainer.pas(164): Could not compile used unit 'XStyleForm'
Hoffe du kannst mir weiter helfen
Lg
jaenicke - Sa 01.05.10 12:36
Ist das noch irgendeine alte Delphiversion?
chickenfigt1989 - Sa 01.05.10 13:25
Ich benutze Delphi 7 Personal Edition
jaenicke - Sa 01.05.10 15:53
Es gibt eine neue Version, diese funktioniert ab Delphi 5 wieder, ich hatte nach der Anpassung für Vista keinen Test mit den Uraltversionen mehr gemacht.
Leider funktionieren mit Delphi 7 oder früher kompilierte Programme dadurch nicht genauso gut wie mit neueren Delphiversionen, um genau zu sein gibt es dabei evtl. ein Problem mit ShowModal. Aber das muss ich noch testen und ggf. irgendwie anders lösen. Da es ohnehin ab Vista mit Programmen von Delphi 7 und früher Probleme gibt, ist das aber auch nicht so wichtig.
Zumindest funktioniert es aber, auch das AutoSetup.
chickenfigt1989 - Sa 01.05.10 16:00
oke und wo finde ich die neue Version??
Weil egal was ich mache, ich bring die Version von diesen Thread nicht zum Laufen
Mfg
jaenicke - Sa 01.05.10 16:06
Die neue Version wurde bisher noch gar nicht heruntergeladen, siehe Downloadcounter. ;-)
Du findest diese wie immer im ersten Beitrag des Threads, die Downloads sind dort aktualisiert.
chickenfigt1989 - Sa 01.05.10 16:42
Lool
Ich hab es mir aber heut schon mal runtergeladen, und dann den Bibliothekspfad zu dem Sourceordner hinzugefügt, die Package compiliert und installiert.
jaenicke - Sa 01.05.10 17:11
Falls das missverständlich war:
Mein Beitrag vorhin war die Benachrichtigung, dass es eine neue Version (Beta 4) gibt nachdem ich diese kurz vorher im ersten Beitrag aktualisiert hatte. ;-)
chickenfigt1989 - Sa 01.05.10 17:38
Joa habs gemerkt aufeinmal ging es
Nur ich komm irgendwie nicht klar damit.
Also wie ich des mach das mein Programm mit dem gewünschten Style startet :(
jaenicke - Sa 01.05.10 17:41
Steht doch dabei unter Verwendung. Wenn du in der Komponente die Eigenschaften gesetzt hast, kannst du XStyleEnabled in OnCreate auf True setzen.
chickenfigt1989 - Sa 01.05.10 18:21
Ich check es trotzdem noch nicht so ganz.
Ich will eig. nur das mein Programm dein xtremexp.xstyle style hat :(
jaenicke - Sa 01.05.10 18:24
Dann frage ich mal anders: Was hast du denn bisher von den fünf Punkten unter Verwendung schon gemacht? :roll:
chickenfigt1989 - Sa 01.05.10 19:16
Ich hab folgendes gemacht:
Die Komponente TStyleComponent aufs Formular legen
XStyleForm in die uses Liste hinzufügen
Aus class(TForm) in der Formulardeklaration TXStyleForm machen
Und hier komm ich nicht weiter:
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.
lg
jaenicke - Sa 01.05.10 19:44
Gemeint sind die Eigenschaften der Komponente, die du auf das Formular gelegt hast. Dort kannst du im Objektinspektor bei OpenFile einen kompletten Dateinamen zu einer Styledatei inklusive Pfad angeben um diese zu laden.
XStyleForm kannst du dann in OnCreate den Wert True zuweisen um den Style zur Laufzeit zu aktivieren.
chickenfigt1989 - Sa 01.05.10 20:03
oh hab nur das SaveFile gesehen.
Oke jetzt habe ich bei OpenFile eines deiner Beispiel Styles hergenommen und bei OnCreate meiner Form XStyleEnabled:= true; reingeschrieben, aber wenn ich das Programm dan starte ist nur ein grauer kasten da siehe screen im Anhang. Lg
jaenicke - Sa 01.05.10 20:31
Ich muss da das Design irgendwann einmal verbessern. Das zeigt soweit ich mich erinnere keine Fehlermeldung an, wenn die Datei nicht gefunden wird.
Hast du da wirklich den kompletten Pfad inkl. Dateinamen angegeben und mit Return bestätigt? :gruebel:
chickenfigt1989 - Sa 01.05.10 20:39
Ich bin bei OpenFile einfach auf die drei Punkte gegangen dann kam das Datei Öffnen, und von dort aus hab ich zu der Style Datei Navigiert und sie Doppelt angeklickt.
Edit://Ich hab jetzt 5mal den pfad über die drei Punkte bei OpenFile reingemacht, und auch manuell den pfad eingegeben, aber er nimmt mir keinen einzigen pfad an. Es steht dann immer bei OpenFile Bitte geben sie ienen Dateinamen ein.
jaenicke - Sa 01.05.10 21:33
Die drei Punkte zeigen, dass da irgendein Addon aktiv ist, denn Delphi selbst hat das nicht. Offenbar blockiert dieses den Setter der Eigenschaft, so dass der Dateiname nicht wirklich gesetzt wird. :nixweiss:
Ich habe einmal ein Demovideo unter Verwendung im ersten Beitrag ergänzt, das ich mit einer sauberen Installation erstellt habe. Da funktioniert es problemlos.
chickenfigt1989 - Sa 01.05.10 22:52
Oke hab das ganze mal auf mein Laptop getestet mit Delphi 7 Second Edition und es funzt wunderbar.
Allerdings geht dan mein Account System nicht mehr :(
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!