AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Firemonky TListBox Backgroundfarbe

Ein Thema von Anila · begonnen am 4. Nov 2019 · letzter Beitrag vom 18. Nov 2019
Antwort Antwort
Seite 1 von 2  1 2      
Anila

Registriert seit: 15. Okt 2019
20 Beiträge
 
#1

Firemonky TListBox Backgroundfarbe

  Alt 4. Nov 2019, 22:42
Hallo,

ich bekomme es nicht hin, die Backgroundfarbe von meiner TListBox zu verändern. Auch hier klappt es mal wieder, wenn ich nach Windows kompilire: da hatte ich einen farbigen RectAngle als Parent für die TListBox auf die Form gelegt und für die TListBox.StyleLookup=TransparentLixtBoxStyle gewählt. Jetzt wurde die List Box auf einem hellgrauen Hintergrund gezeigt. In Android sah leider alles aus wie vorher.

Dann habe ich es über StyleBook probiert, was ich ehrlich gesagt ziemlich kompliziert finde. Ich habe über einen Rechtsklick auf TListBox das Menü "Edit Custom Style" geöffnet. Links im Strukturmanager finde ich bei ListBox_Style1 das Item "Background" und darunter "Content" und darunter habe ich ein graues TRectAngle erstellt. Zur Designzeit sieht alles so aus, wie ich es haben möchte, bei Android sehe ich keine Veränderung.

Ich habe dann gesehen, dass der Style-Designer mir immer als Plattform "Windows 7" anzeigt. Ich habe daraufhin mal "Android Light" ausgewählt - was anderes steht mir nicht zur Verfügung - da habe ich dann auch mal ein graues Rechteck erstellt, wieder hat es überhaupt keinen Effekt auf Android.

Wenn ich nach Windows kompiliere, sehe ich jetzt nur ein graues Rechteck.... Aber immerhin erkenne ich da, dass es einen Unterschied gibt. Es kann noch irgendwie kaum sein, dass man wirklich aber auch bei jeder klitzekleinen Kleinigkeit stundenlang Google und Foren bemühen muss.

Bislang hat keines der Tutorials mir geholfen. Wäre super, wenn mir jemand ein Code Snippet zur Verfügung stellen könnte, wie ich es programmiermäßig hin bekomme, dass meine Listbox eine andere Hintergrundfarbe hat.

Viele Grüße
Anila
  Mit Zitat antworten Zitat
Anila

Registriert seit: 15. Okt 2019
20 Beiträge
 
#2

AW: Firemonky TListBox Backgroundfarbe

  Alt 5. Nov 2019, 00:54
Hi,

sonst habe ich ja immer meine Lösungen selbst gefunden - dieses Mal nicht.
Jetzt habe ich mal ausprobiert, eine Stylebook-Komponente auf die Form zu setzen und habe einen der verfügbaren Styles zugewiesen. Sieht zwar komplett dämlich aus, aber am Screen tut sich wenigstens was. Dann kompiliere ich nach Android - und.... NICHTS!!! Was immer ich mit Styles veranstalte, auf Android wirkt sich nichts davon aus.

Meine Hauptform - ausgewählt habe ich als Plattform "Android" und Ansicht="Master" - ist schwarz mit weißer Schrift. Schon wenn ich als Ansicht "Android 4 Zoll" wähle, sieht alles wie gehabt aus: Weißer Hintergrund mit schwarzer Schrift.

Mir erschließt sich der Sinn des Stylebooks irgendwie nicht.

Als VCL hätte ich alle Menüs, die ich haben will, in 1 Stunde fertig gehabt (da hätte ich nebenher Fernsehen gucken können, so kompliziert ist das Design, was ich will, ja nicht) und wäre längst mal dabei, die ganze Funktionalität zu implementieren. Also das, was passieren soll, wenn man irgendwas anklickt oder so. Bin echt frustriert. Heute habe ich ca. 4 Stunden lang geduldig versucht, die Backgroundcolor von der Listbox zu verändern.... und null Erfolg. Ich programmiere seit über 20 Jahren Delphi, das kann doch irgendwie nicht sooooo anders mit Firemonky sein?

Ich hoffe, irgendwer hilft mir...

Frustrierte Grüße
Anila
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.537 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Firemonky TListBox Backgroundfarbe

  Alt 5. Nov 2019, 01:35
Viele Wege führen nach Rom... Aber bei FMX ist in der Tat so einiges anders.

Weiß nicht genau was Du vorhast, aber ein einfacher Weg wäre, mit der rechten Maustaste auf die Listbox zu klicken, benutzerdeifinierten Style wählen und dann ein Rectangle (Farbe mit Fill ändern) exakt so einfügen, wie im anliegenden Screenshot ersichtlich.
Miniaturansicht angehängter Grafiken
background.jpg  
  Mit Zitat antworten Zitat
Anila

Registriert seit: 15. Okt 2019
20 Beiträge
 
#4

AW: Firemonky TListBox Backgroundfarbe

  Alt 5. Nov 2019, 11:00
Hallo Harry,

das Verrückte ist: Genauso habe ich es gemacht. Ich versuche heute Abend, wenn ich Freizeit habe, ein Bild einzustellen, jetzt muss ich ganz normal arbeiten.

Als Style habe ich der Listbox ListBox1Style1 zugewiesen, genau, wie es bei dir auch heißt. Sieht bei mir dann auch auf dem normalen Bildschirm in Windows genauso aus, wie ich es haben will. Ich hatte es auch tatsächlich mal mit quietschegrün probiert, um wenigstens irgendeinen Effekt zu haben.

Bei mir war auch der RectAngle an der gleichen Stelle wie bei dir: Unterhalb von Background-Content.

Aber schon in der Android-Vorschau sieht man bei mir, dass es in Android keinen Effekt gibt. Für den ListItemStyle habe ich einen mit "node" im Namen (komme jetzt an die IDE nicht dran.) Das war jedenfalls der einzige der verfügbaren Styles, wo ich ein Bild anzeigen konnte und nebendran den Text des Items. Es war jedenfalls nicht LeftDetailLookup (oder so), da waren bei mir die Grafiken nämlich nicht mehr sichtbar. Auch das galt nur für Android, Windows hat sie angezeigt.

Bist du zusätzlich noch in der Lage, bei deiner Listbox ein Image links neben dem Itemtext anzuzeigen und trotzdem den Hintergrund zu verändern?? Falls ja, hast du irgendeine Idee, was bei mir schiefgelaufen sein könnte? IDE deinstallieren und neu installieren?? Oder ob ich irgendeine Property (die vom ListItemStyle oder sonstwas) gesetzt haben könnte, die damit in kompatibel ist? Hast du auch oft die Probleme, dass in der Windows-Plattform alles richtig angezeigt wird und derselbe Code sich in der Android-Plattform anders verhält? Ich benutze üblicherweise den Debugger, starte also per Debugger auf dem am Rechner angeschlossenen Samsung Handy.

Viele Grüße
Anila
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.942 Beiträge
 
Delphi 12 Athens
 
#5

AW: Firemonky TListBox Backgroundfarbe

  Alt 5. Nov 2019, 19:54
Nur um es auszuschließen: seit Rio gibt's für FireMonkey auch unter Android die Möglichkeit
Plattform native Controls zu benutzen (keine Ahnung ob das für eine Listbox schon geht),
dann dürden die Styles nicht greifen. Da gibt's irgend eine Eigenschaft im Control dafür.
Namen hab' ich aber vergessen...
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.537 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Firemonky TListBox Backgroundfarbe

  Alt 6. Nov 2019, 01:08

Bist du zusätzlich noch in der Lage, bei deiner Listbox ein Image links neben dem Itemtext anzuzeigen und trotzdem den Hintergrund zu verändern?? Falls ja, hast du irgendeine Idee, was bei mir schiefgelaufen sein könnte? IDE deinstallieren und neu installieren?? Oder ob ich irgendeine Property (die vom ListItemStyle oder sonstwas) gesetzt haben könnte, die damit in kompatibel ist? Hast du auch oft die Probleme, dass in der Windows-Plattform alles richtig angezeigt wird und derselbe Code sich in der Android-Plattform anders verhält? Ich benutze üblicherweise den Debugger, starte also per Debugger auf dem am Rechner angeschlossenen Samsung Handy.

Viele Grüße
Anila
Das ListboxItem kann ja mit einer Grafik aus einer Imagelist verknpüft werden. Und ja, sie wird angezeigt, siehe anlg. Screenshot zur Laufzeit.

Ich habe das jetzt nur unter Windows getestet. Unter Android und wenn Du einen geladenen STyle verwendest, kann das evtl. anders sein.

Was aber eigentlich immer gehen sollte, dass Du eine weiteres Stylebook auf Deine Form nimmst, wo Du nur Deinen Extra-Style für die Listbox (am besten unter einem leicht abweichenden Namen vom Standard für den StyleNamen) drin hast. Dann wird der allgemeine Style für Android genommen, aber für die Listbox Dein angepasster (auch wenn Dein Extra-Stylebook nicht dem Formular als Stylebook zugewiesen ist, darf auch nicht in diesem Falle).

Wenn das nicht funktionieren sollte: Was auf jeden Fall immer geht, ist den Hintergrund bzw. den Inhalt der Listbox selber zu zeichnen, dafür verwendest Du das Onpainting-Event des Listbox-Items (also nicht der Listbox). Falls Du mein FMX-Buch hast, unter Tipp-R15 ist das mal mit Code und Screenshots beschrieben...
Miniaturansicht angehängter Grafiken
lbback.jpg  

Geändert von Harry Stahl ( 6. Nov 2019 um 01:12 Uhr)
  Mit Zitat antworten Zitat
Anila

Registriert seit: 15. Okt 2019
20 Beiträge
 
#7

AW: Firemonky TListBox Backgroundfarbe

  Alt 6. Nov 2019, 01:36
Hallo,

@Harry: Ich hab's mir gerade über Amazon bestellt und hoffe, dass es mich weiter bringt.

Die Antwort von Turbomagic habe ich nicht wirklich verstanden, aber ich habe jetzt herausgefunden, dass zumindest die Transparenzeigenschaft mit dem ListItemStyle zu tun hat.

Wenn ich bei DefaultItemstyle - Itemstyle - nichts auswähle, dann funktioniert die Transparenz! Dann schaffe ich es auch, der Listbox eine andere Hintergrundfarbe zu geben.

Nun möchte ich aber mein Item mit Bild anzeigen und wähle deswegen DefaultItemstyle - Itemstyle=listboxitemnodetail.
Dann funktioniert die Transparenz nicht mehr, dann hat das Item stets einen weißen Hintergrund.

Dann muss ich vermutlich diesen ItemStyle bearbeiten?

...Ich habe jetzt etwas herum probiert und sehe zumindest Veränderungen. Dieser StyleDesigner erschließt sich mir noch nicht so ganz, aber wenigstens sehe ich Veränderungen, das ist ja mal ein Start. Jetzt habe ich mir eine pottenhäßliche Listbox gezimmert, grüner Hintergrund, rote Schrift, und das ist DAS Erfolgserlebnis von heute

Harry, ich hoffe dann, dass auch der Style-Designer in deinem Buch sozusagen für Dummies gut erklärt ist?
Na gut, ich sehe wieder etwas Land... auch, wenn es noch weit weg ist.

Auf jeden Fall ist das von Harry angehängte Bild das, was ich haben will (wenn auch nicht gerade in quietschegrün, aber ne andere Farbe werde ich wohl auch alleine schaffen)

Viele Grüße
Anila

Geändert von Anila ( 6. Nov 2019 um 01:39 Uhr)
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.942 Beiträge
 
Delphi 12 Athens
 
#8

AW: Firemonky TListBox Backgroundfarbe

  Alt 6. Nov 2019, 19:47
Noch etwas Erklärung zu meiner Antwort:
Es gibt seit Rio die Möglichkeit auszuwählen ob
ein Firemonkey Steuerelement (z. B. TEdit) komplett
von Firemonkey gerendert wird. Dann gilt alles was es zu Styles
in FMX zu sagen gibt oder ob das TEdit aus diesem Beispiel
direkt vom Android Betriebssystem bereit gestellt wird.
Dann zeichnet Android das TEdit und der Stilmechanismus von FMX
greift nicht.

Außer dem Zeichnen sind dann natürlich auch einige andere Features
betroffen. Manchmal stellt das OS Funktionalität bereit, die FMX
nicht bietet, manchmal ist es aber auch genau anders herum.

Grüße

TurboMagic
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.537 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Firemonky TListBox Backgroundfarbe

  Alt 6. Nov 2019, 21:25
Harry, ich hoffe dann, dass auch der Style-Designer in deinem Buch sozusagen für Dummies gut erklärt ist?
Na gut, ich sehe wieder etwas Land... auch, wenn es noch weit weg ist.
Ich hoffe Dir hilft da die Beschreibung in Kapitel II, Abschnit 5 zum Stildesigner und den Styles.

Vielleicht noch ein weiterer Hinweis: Weiß ja nicht, wie Dein Projekt genau aussieht, ob es z.B. nur für Android / IOS sein soll oder eine Form ist, die Du auch unter Windows verwenden möchtest.

Man hat auch noch die Möglichkeit für jede Plattform pro Style-Datei ein Style-Element zu modifizieren, ich habe heute in diesem kurzen Video auf eine ähnliche Frage (https://www.delphipraxis.net/1450835-post1.html) mal gezeigt:
https://youtu.be/n9KBc72eH4s

Evtl. ist das Dir ja auch noch eine Hilfe
  Mit Zitat antworten Zitat
Anila

Registriert seit: 15. Okt 2019
20 Beiträge
 
#10

AW: Firemonky TListBox Backgroundfarbe

  Alt 7. Nov 2019, 01:50
Hallo,

vielen Dank schon mal. Android mache ich nur in meiner Freizeit und heute bin ich dazu nicht gekommen. Ich melde mich auf jeden Fall, wenn ich wieder Zeit für Android habe.

Viele Grüße
Anila
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:24 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