Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   TXStyleForm reloaded 1.1 beta 3 - Formular mit Skin (https://www.delphipraxis.net/129742-txstyleform-reloaded-1-1-beta-3-formular-mit-skin.html)

jaenicke 24. Feb 2009 23:38


TXStyleForm reloaded 1.1 beta 3 - Formular mit Skin
 
Liste der Anhänge anzeigen (Anzahl: 3)
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

jaenicke 24. Feb 2009 23:40

Re: TXStyleForm reloaded 1.1 alpha - Formular mit Skin
 
Liste der Anhänge anzeigen (Anzahl: 3)
// EDIT:
Die Screenshots liegen auf Wunsch nur noch im Anhang, ihr könnt sie entweder dort anklicken oder hier anschauen:
http://www.sj-berlin.de/service/df/s...screenies.html

toms 25. Feb 2009 05:16

Re: TXStyleForm reloaded 1.1 alpha - Formular mit Skin
 
Hallo Sebastian

Habe es soeben mit Delphi 7 unter WinXP gestestet.
Gab beim Kompilieren keine Feher, auch Darstellungsfehler konnten nicht erkannt werden.
Schaut gut aus :thumb:

Edit: Der Quellcode könnte noch etwas optimiert werden:

z.B
sizeof -> SizeOf
font.style -> Font.Style
free -> Free
assign -> Assign
"capital F"

etc.

mkinzler 25. Feb 2009 05:39

Re: TXStyleForm reloaded 1.1 alpha - Formular mit Skin
 
Hallo Sebastian,
könntest du die Bilder in den Anhang packen, um die Ladezeit der Seite zu verkürzen?

Danke.

jaenicke 25. Feb 2009 06:03

Re: TXStyleForm reloaded 1.1 alpha - Formular mit Skin
 
Zitat:

Zitat von toms
Edit: Der Quellcode könnte noch etwas optimiert werden:

Danke für die Rückmeldung, ja, ein großer Teil des Quelltexts stammt ja nicht von mir. Das meinte ich unter anderem mit dem Überarbeiten. ;-)
Auch die Dokumentation des Quelltextes will ich noch vereinheitlichen, genau wie eben die Schreibweise des Delphicodes an sich.

Angefangen habe ich da schon, auch mit Tests unter verschiedenen Delphiversionen. Packages und Projektgruppen bzw. teilweise neue Projekte habe ich mittlerweile für Delphi 7, 2006 und 2009 erstellt. Delphi 3, 6 und 2007 folgen noch.
Leider habe ich Delphi 4 und 5 nicht, so dass ich da immer nicht weiß was dort geht.
Auch habe ich angefangen es unter verschiedenen Systemen zu testen. Windows 95, 2000, XP und Vista funktionieren.

Ich bin also zuversichtlich, dass es unter Delphi 3 bis 2009 und Windows 95 bis Windows 7 gleichermaßen funktioniert. :mrgreen:

Zitat:

Zitat von mkinzler
könntest du die Bilder in den Anhang packen, um die Ladezeit der Seite zu verkürzen?

Das hatte ich ja ohnehin schon um die Erreichbarkeit zu garantieren.

Auch wenn ich es für wenig sinnvoll halte, dann entferne ich die eben aus dem Beitrag. Eigentlich würde ich es für sinnvoller halten, wenn man direkt sieht was Sache ist. :wall:
Aber egal, müssen eben alle extra die von dem Server hier einzeln downloaden, mir ist das ja egal.

mkinzler 25. Feb 2009 06:31

Re: TXStyleForm reloaded 1.1 alpha - Formular mit Skin
 
Es gibt, man scheint es kaum zu glauben, noch Modembesitzer. Diese freuen sich immer wenn Bilder direkt im Beitrag verlinkt sind :zwinker:

toms 25. Feb 2009 07:29

Re: TXStyleForm reloaded 1.1 alpha - Formular mit Skin
 
Zitat:

Zitat von jaenicke
Auch wenn ich es für wenig sinnvoll halte, dann entferne ich die eben aus dem Beitrag. Eigentlich würde ich es für sinnvoller halten, wenn man direkt sieht was Sache ist. :wall:
Aber egal, müssen eben alle extra die von dem Server hier einzeln downloaden, mir ist das ja egal.

Du könntest ja evtl. auch auf eine Seite mit Screenshots verlinken.
Somit könnte man die Screenshots auch auf einen Blick sehen wenn man dem Link folgt.

Ich werde es noch unter Delphi 5 testen.

jaenicke 25. Feb 2009 14:46

Re: TXStyleForm reloaded 1.1 alpha - Formular mit Skin
 
Zitat:

Zitat von toms
Du könntest ja evtl. auch auf eine Seite mit Screenshots verlinken.
Somit könnte man die Screenshots auch auf einen Blick sehen wenn man dem Link folgt.

Superidee, hab ich gemacht. :thumb:

Zitat:

Zitat von toms
Ich werde es noch unter Delphi 5 testen.

Ja, das wäre schön, ich werde noch die Compilerdirektiven so schreiben, dass es auch unter Delphi 3 geht, das fehlt glaube ich bei Alphablending noch, was vermutlich auch unter Delphi 5 nicht geht, oder?

Könntest du vielleicht mal Screenshots vom Objektinspektor anhängen, wenn das Formular drin aktiv ist, bitte? Dann könnte ich die dort verfügbaren Eigenschaften sehen, das ist ja vor allem das, was mich interessiert. ;-)

jaenicke 26. Feb 2009 17:07

Re: TXStyleForm reloaded 1.1 alpha 2 - Formular mit Skin
 
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 27. Feb 2009 04:32

Re: TXStyleForm reloaded 1.1 alpha 4 - Formular mit Skin
 
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.

jbaertle 27. Feb 2009 08:57

Re: TXStyleForm reloaded 1.1 alpha 4 - Formular mit Skin
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Sebastian,

gefällt mir sehr gut, was Du da gemacht hast.
Einen Hinweis habe ich: Ich habe das Package unter Delphi 5 (WinXP) installiert. Soweit keine Probleme. Wenn ich bei der Demo die Größe ändere, erhalte ich jedoch einen Zeichenfehler (siehe Bild).

Grüße, Jani.

jaenicke 27. Feb 2009 16:09

Re: TXStyleForm reloaded 1.1 alpha 4 - Formular mit Skin
 
Hmm, genau das hatte ich heute Morgen gehofft behoben zu haben. Ich habe XP nur noch auf Testrechnern installiert, aber gerade konnte ich es reproduzieren. Wenn die Maus sehr schnell bewegt wird sieht man da die schwarzen Flächen. Wenn ich die Maus jetzt z.B. über einem anderen Fenster im Vordergrund loslasse, dann bleibt das so.

Das ist ein generelles Problem, das tritt auch bei der mit neueren Delphiversionen kompilierten Version auf. Ich muss einmal schauen woran das liegt.

Eine Lösung wäre vielleicht zunächst ein Timer, der es notfalls nachträglich korrigiert. Beim Resizen könnte der aktiviert werden und sich nach dem letzten Resizen und einer Korrektur ggf. selbst deaktivieren.
Aber ich versuche mal herauszufinden woran es liegt und es richtig zu beheben.

jaenicke 27. Feb 2009 17:45

Re: TXStyleForm reloaded 1.1 alpha 4 - Formular mit Skin
 
Zitat:

Zitat von jbaertle
Wenn ich bei der Demo die Größe ändere, erhalte ich jedoch einen Zeichenfehler (siehe Bild).

Leider hat sich beim Unterdrücken des Flackerns in der letzten Version ein Fehler eingeschlichen. Das Problem ist, dass ich das Resizen bzw. 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 aktualisiert.

jaenicke 28. Feb 2009 04:40

Re: TXStyleForm reloaded 1.1 beta 1 - Formular mit Skin
 
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.

toms 28. Feb 2009 08:18

Re: TXStyleForm reloaded 1.1 beta 1 - Formular mit Skin
 
Hallo Sebastian, ich habe mal den Code im WMNCRButtonUp so angepasst, dass das Systemmenü angezeigt wird.

Delphi-Quellcode:
procedure TXStyleContainer.WMNCRButtonUp(var message: TWMNCRButtonUp);
const
  A: array[Boolean] of Integer = (MF_BYCOMMAND or MF_GRAYED, MF_BYCOMMAND or MF_ENABLED);
var
  hMenuHandle: HMENU;
  hOwner: HWND;
  Cmd: Cardinal;
begin
  hOwner := GetWindow(Handle, GW_OWNER);
  if hOwner <> 0 then
  begin
    hMenuHandle := GetSystemMenu(hOwner, false);
    if hMenuHandle <> 0 then
    begin
      EnableMenuItem(hMenuHandle, SC_RESTORE, A[IsIconic(hOwner) or IsZoomed(hOwner)]);
      EnableMenuItem(hMenuHandle, SC_MINIMIZE, A[not IsIconic(hOwner)]);
      EnableMenuItem(hMenuHandle, SC_MAXIMIZE, A[not IsZoomed(hOwner)]);
      Cmd := Cardinal(TrackPopupMenu(hMenuHandle, TPM_RETURNCMD, message.XCursor, message.YCursor, 0, hOwner, nil));
      if Cmd <> 0 then
        PostMessage(hOwner, WM_SYSCOMMAND, Cmd, 0);
    end;
  end;
end;

jaenicke 28. Feb 2009 08:46

Re: TXStyleForm reloaded 1.1 beta 1 (v2) - Formular mit Skin
 
Ja, vielen Dank, ich habe es eingebaut, das funktioniert wunderbar. :D

Die Downloads sind aktualisiert.

jaenicke 24. Mär 2009 03:15

Re: TXStyleForm reloaded 1.1 beta 2 - Formular mit Skin
 
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.

jaenicke 30. Mär 2009 08:46

Re: TXStyleForm reloaded 1.1 beta 2 - Formular mit Skin
 
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 im DF geäußerten 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.

mw19 3. Apr 2009 10:50

Re: TXStyleForm reloaded 1.1 beta 2 - Formular mit Skin
 
Hallo,

die Demo finde ich richtig gut!

Leider gibts auf meinem Rechner Probleme bei der Verwendung. Was ich bisher gemacht habe:

Das Setup ausgeführt (für Delphi 2006).
Neues Projekt erstellt.
TXStyleComponent auf das Formular gezogen.
xtremexp.xstyle direkt auf D: kopiert.
Die Eigenschaft OpenFile der Komponente auf D:\xtremexp.xstyle gesetzt.
USES um XStyleComponent und XStyleForm erweitert.
Das Formular selber von TXStyleForm vererbt.

Kompilieren kann ich das ganze, jedoch hat mein Formular das Standarddesign und nicht das aus der Komponente.
CaptionLeft und Co. in der Komponente beinhalten die Grafiken aus xtremexp.xstyle.

Die Frage ist, was mache ich falsch? Bin für jeden Hinweis sehr dankbar :!:

Gruß,
Michael

jaenicke 3. Apr 2009 14:29

Re: TXStyleForm reloaded 1.1 beta 2 - Formular mit Skin
 
Kannst du das Projekt hier anhängen oder mir schicken?

Eigentlich werden diese Bilder ja direkt benutzt. Oder kann es sein, dass mehr als einmal die Komponente auf dem Formular liegt?

mw19 3. Apr 2009 18:41

Re: TXStyleForm reloaded 1.1 beta 2 - Formular mit Skin
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,

nein, die Komponente habe ich nur einmal auf die Form gezogen.
Anbei mal das Projekt selber.

Vielen Dank für die Unterstützung!

Gruß,
Michael

jaenicke 3. Apr 2009 22:26

Re: TXStyleForm reloaded 1.1 beta 2 - Formular mit Skin
 
Ach jetzt verstehe ich, stimmt, das habe ich nicht dazu geschrieben. Das werde ich gleich noch ergänzen.

Wie auch in der Demo musst du den Style selbst aktivieren. Der Sinn darin ist, dass es ja explizit aktivierbar und deaktivierbar sein soll und deshalb von den Einstellungen des Benutzers der Anwendung abhängt. Und deshalb musst du die Eigenschaft XStyleEnabled z.B. in OnCreate des Formulars setzen:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  XStyleEnabled := True;
end;
So ist es bei der Demo ja auch, erst nach der Aktivierung der CheckBox ist der Style angewendet. ;-)

DeddyH 3. Apr 2009 22:34

Re: TXStyleForm reloaded 1.1 beta 2 - Formular mit Skin
 
Dann wäre es aber IMHO sinnig, Enabled standardmäßig auf true zu setzen, zumindest wäre das das Verhalten, das ich erwarten würde. Allerdings muss ich dazusagen, dass ich mir außer den Screenshots nichts weiter angeschaut habe.

jaenicke 3. Apr 2009 22:55

Re: TXStyleForm reloaded 1.1 beta 2 - Formular mit Skin
 
Der Grund für die Entscheidung meinerseits war ganz einfach, dass das die Startzeit unnötig verlängern würde. Dann würde in dem internen Create das aktiviert. Und danach ggf. sofort wieder deaktiviert. ;-)

So wird es entweder gelassen wie es ist oder einmal aktiviert. Ich hätte das in die Komponente packen können, das fällt mir ein, ich weoß nicht, ob es einen Grund dagegen gab. :gruebel:

Allerdings ist diese Komponente im nächsten großen Release 2.0 dann (hoffentlich) Geschichte, weil ich das komplett in die Delphi-IDE integrieren will.

mw19 4. Apr 2009 06:20

Re: TXStyleForm reloaded 1.1 beta 2 - Formular mit Skin
 
Hallo,

vielen Dank für den Hinweis! Funktioniert einfach wunderbar.

Wenn "Active" im Objektinspektor stehen würde - gerne auch mit False als default - dann bin ihc mir sicher hätte ich nicht nachgefragt :oops:

Ändert aber nichts daran, dass ich die Komponente richtig klasse finde! Werde auf jeden Fall am Ball bleiben und die nächsten Versionen begutachten.

Vielen Dank noch einmal und weiter so!

Gruß,
Michael

jaenicke 4. Apr 2009 16:05

Re: TXStyleForm reloaded 1.1 beta 2 - Formular mit Skin
 
Abgerundete Fenster wie per PN angesprochen sind sicher kein Problem, die Frage ist nur wie das aussehen soll. Eine selbst definierte Region übergeben oder nur Parameter festlegen?

Um genau zu sein gibt es z.B. die Funktion CreateRoundRectRgn, deren beide Parameter für die Ellipse, die die Rundung darstellt, einfach angegeben werden könnten.
http://msdn.microsoft.com/en-us/library/dd183516.aspx
Das einzubauen wäre kein Problem.

Die andere Möglichkeit wäre selbst eine solche Region zu definieren und der Komponente zu übergeben, dann wären auch z.B. Ränder wie Briefmarken gezackt denkbar. :mrgreen:
Aber man muss eben alles selbst machen und der Komponente übergeben. (Nebenbei ginge das auch ohne Modifikation der Komponente.)

mw19 7. Apr 2009 09:10

Re: TXStyleForm reloaded 1.1 beta 2 - Formular mit Skin
 
Hallo,

abgerundete Ecken an sich erstellen ist in der Tat kein Problem. Nur teste das ganze dann mal unter Vista mit diesem bl..n Aera Design. Vista stellt die Fenster leider nicht wirklich so dar wie XP es tut.

Gruß,
Michael

mw19 7. Apr 2009 10:19

Re: TXStyleForm reloaded 1.1 beta 2 - Formular mit Skin
 
Hallo,

lässt sich in diese Designs noch irgendwie das Systemmenü bzw. ein weiterer Button neben dem Minimieren-Button integrieren?

Gruß,
Michael

jaenicke 8. Apr 2009 16:51

Re: TXStyleForm reloaded 1.1 beta 2 - Formular mit Skin
 
Das Systemmenü per rechter Taste sollte funktionieren, wenn auch noch nicht alle Einträge.

Ansonsten wäre es natürlich überhaupt kein Problem einen weiteren Button einzufügen, dazu müsste der Quelltext entsprechend geändert werden.

Zitat:

Zitat von mw19
abgerundete Ecken an sich erstellen ist in der Tat kein Problem. Nur teste das ganze dann mal unter Vista mit diesem bl..n Aera Design. Vista stellt die Fenster leider nicht wirklich so dar wie XP es tut.

Aero finde ich schon schön, da hatte ich auch keine Probleme. Ich habe das mittlerweile ein wenig getestet, die runden Ecken an sich funktionieren problemlos, aber ich entwickle ohnehin ausschließlich unter Vista und teste dann in einem virtuellen PC die XP-Kompatibilität usw. ;-)
Ich werde da wohl entsprechende Parameter einbauen. Das Problem ist nur, dass die Einstellungen sowieso hoffnungslos unübersichtlich sind.

Ich bin mir auch noch unschlüssig welche Veränderungen ich in welches Release einbaue. Denn prinzipiell gibt es zwar noch ein Zwischenrelease 1.2 vor der komplett neuen Version 2.0, aber ich weiß noch nicht was da noch Neues wirklich sinnvoll rein passt (und was erst in 2.0 sinnvoll realisierbar ist).

Das mit den Buttons plane ich in Version 2.0 ohnehin komplett anders zu realisieren. Da soll es eine Liste geben mit Buttons, die dann verschiedene Positionen, Bilder und Funktionen bekommen können. Und die Liste soll eben auch direkt änderbar sein. ;-) Da läuft ja im Moment erst die Planung was rein soll und möglich ist. Vor allem habe ich noch ein wenig Schwierigkeiten mir einen guten visuellen Editor einfallen zu lassen. Der soll ja in der Komponente und der erstellten Exe auch für die Benutzer der Software ggf. angezeigt werden können.

jaenicke 12. Apr 2009 04:31

Re: TXStyleForm reloaded 1.1 beta 3 - Formular mit Skin
 
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.

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.


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