Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   StyleBook nur auf bestimmte Objekte anwenden (https://www.delphipraxis.net/175380-stylebook-nur-auf-bestimmte-objekte-anwenden.html)

Crocotronic 17. Jun 2013 19:22

StyleBook nur auf bestimmte Objekte anwenden
 
Guten Abend,
gerade eben hab ich rausbekommen, dass der JetX-Style genau das richtige für meine TListBox wäre. Aber das will ich nicht für das ganze Formular haben, sondern nur für die ListBox.
Weiß jemand wie ich das machen kann?

Viele Grüße
Croco

Crocotronic 19. Jun 2013 15:25

AW: StyleBook nur auf bestimmte Objekte anwenden
 
Keiner eine Idee? :shock:
Hab aus Verzweiflung mal so etwas (in der Art) versucht:
Delphi-Quellcode:
aSubImage:= ListBox1.FindStyleResource('background') as TSubImage;
aSubImage:= StyleBook1.Styles.FindResource('listboxstyle').FindStyleResource('background') as TSubImage;
Hat aber leider nicht geklappt :pale:

Darlo 19. Jun 2013 15:51

AW: StyleBook nur auf bestimmte Objekte anwenden
 
Für iOs oder Windows, XE<4oder XE 4

Crocotronic 19. Jun 2013 15:59

AW: StyleBook nur auf bestimmte Objekte anwenden
 
Für iOS mit XE4

Darlo 19. Jun 2013 21:18

AW: StyleBook nur auf bestimmte Objekte anwenden
 
Leider kenne ich da keine Möglichkeit... Das was Emba mit dem Streichen der benutzerdefinierten Styles und des "nativen-Style" im binärformat gemacht hat ist zum k*****,sorry.

Crocotronic 20. Jun 2013 12:52

AW: StyleBook nur auf bestimmte Objekte anwenden
 
So ein kack...
Ich könnte versuchen alle Styles bis auf die von der Listbox rauszuhauen und das stylebook dann ganz normal zu benutzen. Aber es scheitert ja schon beim löschen -.-

stahli 20. Jun 2013 13:16

AW: StyleBook nur auf bestimmte Objekte anwenden
 
Löschen kannst Du das am besten über einen Texteditor.
Aber ich wette ein kaltes Glas Leitungswasser, dass die anderen Controls dann ihren Style nicht finden und als weiße Fläche (vielleicht auch als Fläche mit undefinierbarem Inhalt) gezeichnet werden.

Ich hatte mal ein Beispiel im Firemonkey-Sammelthread bezüglich Styling von abgeleiteten Controls...

Mavarik 20. Jun 2013 13:22

AW: StyleBook nur auf bestimmte Objekte anwenden
 
jo..

Ich würde gerne eine (FB-Shift-In) Fenster in einem anderen Style zeigen... Hab ich bisher auch nicht hinbekommen...

Mavarik

Darlo 20. Jun 2013 21:35

AW: StyleBook nur auf bestimmte Objekte anwenden
 
Hoffentlich werden die iOS7 Styles wieder normal geliefert, dann kann man die wenigstens kopieren und anpassen.

stahli 20. Jun 2013 21:55

AW: StyleBook nur auf bestimmte Objekte anwenden
 
Oups, "Binärformat" ... jetzt erst gelesen.
Betrifft das nur Mobile oder auch Mac-FMX?

Crocotronic 21. Jun 2013 16:59

AW: StyleBook nur auf bestimmte Objekte anwenden
 
AFAIK nur Mobile

Crocotronic 28. Jun 2013 15:01

AW: StyleBook nur auf bestimmte Objekte anwenden
 
Liste der Anhänge anzeigen (Anzahl: 1)
Wenn's nicht so geht, dann eben umständlich...

Delphi-Quellcode:
 (o_menu.FindStyleResource('AlternatingRowBackground') as TBrushObject).Brush.Color:= $FF2D2D2D;
 (o_menu.FindStyleResource('background') as TRectangle).Fill.Color:= $FF242323;

 (ListBoxHeader1.FindStyleResource('background') as TSubImage).SourceLookup:= 'iOSJet Retina2style.png';

 (ListBoxItem1.FindStyleResource('background_roundall') as TSubImage).SourceLookup:= 'iOSJet Retina2style.png';
 (ListBoxItem1.FindStyleResource('background_roundbottom') as TSubImage).SourceLookup:= 'iOSJet Retina2style.png';
 (ListBoxItem1.FindStyleResource('background_roundtop') as TSubImage).SourceLookup:= 'iOSJet Retina2style.png';
 (ListBoxItem1.FindStyleResource('background_sharp') as TSubImage).SourceLookup:= 'iOSJet Retina2style.png';
 (ListBoxItem1.FindStyleResource('background_separatorbottom') as TSubImage).SourceLookup:= 'iOSJet Retina2style.png';
 ((ListBoxItem1.FindStyleResource('background_separatorbottom') as TSubImage).FindComponent('subimage1') as TSubImage).SourceLookup:= 'iOSJet Retina2style.png';

 (ListBoxItem2.FindStyleResource('background_roundall') as TSubImage).SourceLookup:= 'iOSJet Retina2style.png';
 (ListBoxItem2.FindStyleResource('background_roundbottom') as TSubImage).SourceLookup:= 'iOSJet Retina2style.png';
 (ListBoxItem2.FindStyleResource('background_roundtop') as TSubImage).SourceLookup:= 'iOSJet Retina2style.png';
 (ListBoxItem2.FindStyleResource('background_sharp') as TSubImage).SourceLookup:= 'iOSJet Retina2style.png';
 (ListBoxItem2.FindStyleResource('background_separatorbottom') as TSubImage).SourceLookup:= 'iOSJet Retina2style.png';
 // ****************** Zugriffsverletzung ******************* //
 ((ListBoxItem2.FindStyleResource('background_separatorbottom') as TSubImage).FindComponent('subimage1') as TSubImage).SourceLookup:= 'iOSJet Retina2style.png';
 // ********************************************************* //
 (ListBoxGroupHeader1.FindStyleResource('background') as TSubImage).SourceLookup:= 'iOSJet Retina2style.png';
So muss ich halt jedes Unterobjekt durchackern. Macht zwar ziemlich Arbeit, aber wer schön sein will muss leiden, oder so.

Nur komm ich an ein Objekt irgendwie nicht dran (im Code oben markiert). Das ist ein unterobjekt vom Seperator-SubImage, auch ein SubImage. Das hat aber weder ein Stylename, noch ein Objektname(?!). Auf dem Bild sieht man den Ausschnitt.
Weiß jemand wie ich da ran komme?

Viele Grüße
Croco

EDIT: Habs, über ((ListBoxItem1.FindStyleResource('background_separ atorbottom') as TSubImage).Children kommt man dran


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:47 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz