Delphi-PRAXiS

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 Problem mit Controls und XP Manifest (https://www.delphipraxis.net/88703-problem-mit-controls-und-xp-manifest.html)

OldGrumpy 19. Mär 2007 18:48


Problem mit Controls und XP Manifest
 
Schönen Tag auch zusammen,

ich hab mal wieder ein Problem :) Ich hab hier ja zur Zeit mal wieder ein "tolles" Projekt am Hals, und jetzt sollte etwas Eyecandy eingebaut werden, sprich Common Controls 6 nutzen. Dazu hab ich als erstes mal nen TXPManifest aufs Mainform gezogen, danach hatten die Buttons auch schon abgerundete Ecken, aber etliche Controls wurden gar nicht mehr angezeigt oder nicht mehr korrekt gezeichnet. Ich hab hier z.B. ein Konglomerat aus TNotebook und TPanels - ohne Manifest funktioniert der Wechsel sauber, mit Manifest ist erstmal das Alignment irgendwie hinüber und zum zweiten werden die Panelinhalte immer übereinander gemalt - da hab ich nicht schlecht gestaunt.

Lange Rede, kurzer Sinn: Gibts Tutorials oder ausführliche Dokus was wie behebbar ist? Ich bin immer eher mit älteren Sachen beschäftigt, daher ist dies mein erster Kontakt mit XP Styles und Co... Ich hab auch schon die Boardsuche und Google gequält aber nichts wirklich nützliches bisher gefunden. Ich gehe aber davon aus, dass ich nicht der erste mit solchen Probs bin und irgendwo durchaus Informationen zu finden sein sollten - man muss nur wissen wo :)

Sachdienliche Hinweise aller Art werden dankend entgegen genommen :)

Blackheart 19. Mär 2007 18:55

Re: Problem mit Controls und XP Manifest?
 
Ich kann Dir zwar nicht bei deinem Problem helfen, aber Ich hatte auch schon öfter das einiges nicht richtig gezeichnet wurde.
Das trat meistens in Verbindung mit DoubleBuffred auf.

OldGrumpy 19. Mär 2007 19:10

Re: Problem mit Controls und XP Manifest?
 
Doublebuffered wird, soweit ich das sehe, nicht benutzt...

Bernhard Geyer 19. Mär 2007 20:20

Re: Problem mit Controls und XP Manifest
 
TNotebook ist eh ne Uraltkomponente die man nicht mehr verwenden sollte. Nimm TPageControl, welche vom Grundprinzip das gleiche kann und gut ist es für diese Komponente. Ansonsten kannst du hier suchen wenn es spezielle Probleme gibt. Evtl. ist ja was über die Suche zu finden.

OldGrumpy 19. Mär 2007 21:56

Re: Problem mit Controls und XP Manifest
 
Bevor ich da gross Sachen umbaue, möchte ich erstmal den Mechanismus dahinter verstehen, der zum Versagen in Verbindung mit dem Manifest führt. Es ist nicht nur ein TNotebook betroffen... Dass TNotebook alt ist, ist mir durchaus bewusst, trotzdem versteh ich nicht, warum die Panels alle wie Kraut und Rüben durcheinander gezeichnet werden sobald nen TXPManifest mit in der Applikation ist. Offenbar funktioniert dann sogar das Positionieren der Controls nicht mehr wie vorher... Gibts nicht vielleicht irgendwo ne Doku die zusammenfasst was sich genau ändert wenn man das Manifest ins Projekt packt? Ich meine jetzt nicht im Projekt sondern für den Entwickler :)

Bernhard Geyer 20. Mär 2007 06:12

Re: Problem mit Controls und XP Manifest
 
Ich kenn keine Doku aber kann mal einige Grundaspekte von Theming mittels XP Manifest auflisten:

- Geänderte Transparenz: Im Manifest können diverse Win32-Controls als Transparent definiert sein welches zu unschönen Farbverhalten führt wenn man für dieses Control eigentlich eine Farbe vergeben hat

- Komplett neues Farbschema definiert. Die von D1 bekannten clXXX-Farbkonstanten werden für viele Win32-Controls durch die XP Themes-Farben ersetzt. Damit werden wiederrum eigene Farbschematats u.U. unbrauchbar

- Durch die u.U. sehr dicken Ränder (z.B. von Titelzeile oder bei Vista vom Fensterrahmen) müßen diverse Auto-Layout-Mechanismen mit Anchors neu eingestellt oder umgestellt werden.

OldGrumpy 21. Sep 2007 23:10

Re: Problem mit Controls und XP Manifest
 
Jetzt war endlich mal Zeit, das ganze in Ruhe anzuschauen und zu experimentieren. Ich trage hier mal meine Erkenntnisse nach, nachdem das ganze jetzt bis auf das schon erwähnte Koordinaten nachjustieren klappt: Das größte Problem war dass praktisch alle Komponenten standardmässig ParentBackground=True haben, was dann dazu führte dass Controls die übereinander liegen und nur bei Bedarf nach vorne geholt werden jetzt anscheinend alle übereinander gemalt wurden. Einige Panels waren gar nicht zu sehen, da sie keinen echten Inhalt hatten sondern nur eine bestimmte Farbe (Farbpalettenauswahl zum Beispiel), hier sorgte ParentBackground=True dann dafür dass die Panels komplett unsichtbar wurden.

Das doofe an der ganzen Sache war dass ParentBackground=True halt der Defaultwert war, somit steht es im DFM nicht drin. Automatisches Suchen und Ersetzen fiel damit aus, war ne ganze Menge Handarbeit, alle Controls durchzugehen und überall ParentBackground=False zu setzen...

Nu siehts aber echt schick aus im Vergleich zu vorher, vor allem die abgerundeten Buttons kommen sehr gut rüber.


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