Delphi-PRAXiS
Seite 2 von 3     12 3      

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)

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?


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:10 Uhr.
Seite 2 von 3     12 3      

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