AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Hintergrundfarbe eines selektierten FMX ListViewItems ändern
Thema durchsuchen
Ansicht
Themen-Optionen

Hintergrundfarbe eines selektierten FMX ListViewItems ändern

Ein Thema von TurboMagic · begonnen am 26. Jul 2018 · letzter Beitrag vom 2. Aug 2018
Antwort Antwort
Seite 1 von 2  1 2      
TurboMagic

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

Hintergrundfarbe eines selektierten FMX ListViewItems ändern

  Alt 26. Jul 2018, 15:40
Hallo,

wie kann ich am einfachsten die Hintergrundfarbe es selektierten ListViewItems eies FMX List Views ändern? Ich habe dafür bisher noch keinen passenden Stil gefunden. Falls es etwas ausmacht: es wäre für Android.

Grüße

TurboMagic
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.685 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Hintergrundfarbe eines selektierten FMX ListViewItems ändern

  Alt 26. Jul 2018, 16:58
Zitat:
You have to use a style. So add a stylebook en either use one of the
styles that come with Delphi or right click the listview "edit custom
style"to make the style. dubbleclick on the stylebook to open the style
and modify the listviewstyle.
Hopes that helps
Me hope das auch

auch was mit Code auf SO entdeckt in Form einer Bitmap:
Zitat:
My suggestion is to add TListItemImage to listview, use it as a marker or set its bounds to cover whole item and use it as a backgraund. Then when you click on item, change the image assigned to the listitemimage object of the selected item.
for example:
Delphi-Quellcode:
procedure TForm1.lvListasItemClickEx(const Sender: TObject; ItemIndex: Integer;
  const LocalClickPos: TPointF; const ItemObject: TListItemDrawable);
begin
TListItemImage(TListViewItem(lvListasItem.Selected).Objects.FindDrawable('Image1')).Bitmap := Image1.MultiResBitmap.Items[1].Bitmap;
end;
Gruß vom KodeZwerg

Geändert von KodeZwerg (26. Jul 2018 um 17:02 Uhr)
  Mit Zitat antworten Zitat
TurboMagic

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

AW: Hintergrundfarbe eines selektierten FMX ListViewItems ändern

  Alt 26. Jul 2018, 17:23
Hallo,

wenn, dann hilft glaube ich nur dein 2. Ansatz.
Den ersten habe ich schon versucht und im ListView Stil des Stylebook nichts gefunden, was auf einen selektieren Eintrag hinweist.

Manche Dinge in FMX gehen eionfach, andere scheinen überkompliziert zu sein.

Grüße

TurboMagic
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.685 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Hintergrundfarbe eines selektierten FMX ListViewItems ändern

  Alt 26. Jul 2018, 17:33
Da schau an, für mich klang das erstere nach genau dem gesuchten, ich muss dringend mal wieder was FMX taugliches raufpacken damit ich im Vorfeld testen kann was ich copy/paste.

Ps: Vielleicht steht sowas auch in Harry seinFMX Buch. *ungewiss*
Gruß vom KodeZwerg

Geändert von KodeZwerg (26. Jul 2018 um 17:36 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

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

AW: Hintergrundfarbe eines selektierten FMX ListViewItems ändern

  Alt 28. Jul 2018, 09:30
Die Listview habe ich im Buch zwar nicht behandelt (kommt aber im nächsten Buch sehr ausführlich), die Lösung geht aber (u.a.) auch entsprechend so, wie im Buch im Kapitel über die Styles / FireMonkey Stil-Designer beschrieben (S. 86 Bitmap-Links):

Du legst hier entweder einen Benutzer defninierten Style an oder änderst den Standard-Style für die Listview. Im Style-Designer wählst Du "selection" aus dem "listviewstyle". Für Selection änderst Du dann im Objectinspektor den "SourceLink".

Wenn die Farben in der vorhandenen Bitmap nicht ausreichen für Deine Zwecke, kannst Du einfach ein neues Bitmap (.png-Format) hinzufügen und das als Source wählen.

Ergebnis sieht dann z.B. so aus wie in der Anlage.
Miniaturansicht angehängter Grafiken
listviewitem.jpg  

Geändert von Harry Stahl (29. Jul 2018 um 07:18 Uhr)
  Mit Zitat antworten Zitat
TurboMagic

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

AW: Hintergrundfarbe eines selektierten FMX ListViewItems ändern

  Alt 29. Jul 2018, 09:05
Danke! Habe mir das kurz angeschaut und ja, das sollte kein Problem mehr sein. Es wäre aber mal praktisch eine Übersicht zu haben welcher bereich dieser Bitmaps für welche der Standardcontrols benutzt wird. Dann könnte man gezielter anpassen...
  Mit Zitat antworten Zitat
TurboMagic

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

AW: Hintergrundfarbe eines selektierten FMX ListViewItems ändern

  Alt 29. Jul 2018, 09:12
Document the areas of the style PNG graphics
https://quality.embarcadero.com/browse/RSP-20963

Wer mag kann ja dafür abstimmen...
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe
Online

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.001 Beiträge
 
Delphi 12 Athens
 
#8

AW: Hintergrundfarbe eines selektierten FMX ListViewItems ändern

  Alt 30. Jul 2018, 10:51
Das erscheint mir sehr viel Aufwand mit nur beschränktem Nutzen. Es ist ja keinesfalls gesagt, daß alle Styles das gleiche Grafik-Layout verwenden. Das gilt vermutlich besonders auch für Styles, die nicht von Embarcadero selbst kommen (z.B. https://www.delphistyles.com/).

Nun sind die gefragten Informationen ja bereits im Style selbst enthalten:
Zitat:
One can find that out manually by looking through the style definitions if one loads that style into a TStyle book
Daher würde ich hier ein kleines Programm vorziehen, daß die Bitmap(s) und die Objektstruktur synchronisiert anzeigt. Also einerseits bei Auswahl eines Objekts den zugehörigen Bereich (bzw. Mehrzahl) in der Bitmap anzeigt, andererseits auch beim Hover über der Bitmap die zugehörigen Objekte z.B. in einem Hint anzeigt. Das wäre dann immerhin auf alle Styles anwendbar.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
3.907 Beiträge
 
Delphi 12 Athens
 
#9

AW: Hintergrundfarbe eines selektierten FMX ListViewItems ändern

  Alt 30. Jul 2018, 11:45
Ja die Styles sind sher gewöhnungsbedürftig, und man muss das Arbeiten damit erst nochmal lernen und optimieren, den da sind einige Stolpersteine versteckt.

Damit bin ich eigentlich ganz bei dem Vorschlag von Harry, denn man muss ja meistens nur eine simple, rechteckige Fläche umfärben.
Das geht notfalls auch mit zusätzlichen Rectangles oder Shapes direkt in den Styles,
das ist aber auch suboptimal.

Statt einem zusätzlichem Bitmap für nur einer Farbe lege ich mir eine Art "Farbfächer" an,
so kann ich die wichtigsten Farben "umdefinieren" (Feld-rt, Feld2-Blau, Feld2-grün, ...).
Wenn der Farbfächer immer gleich strukturiert wird, dann kann man den sogar austauschen und so die Style-Hauptfarben leicht ändern, ohne das "große" Bitmap anfassen zu müssen.

Aber Alles in Allem ist das doch sehr lästig, und es hat auch seine Grenzen

Rollo
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe
Online

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.001 Beiträge
 
Delphi 12 Athens
 
#10

AW: Hintergrundfarbe eines selektierten FMX ListViewItems ändern

  Alt 1. Aug 2018, 10:19
Ich habe da mal eine Art Proof-of-Concept zusammengeschrieben, zunächst beschränkt auf vsf-Dateien (also VCL Styles). Das Konzept lässt sich vermutlich auch mit vertretbarem Aufwand auf FMX Styles anwenden, notfalls dann halt in einer separaten FMX-Anwendung.
Angehängte Dateien
Dateityp: zip VsfViewer.zip (1.011,7 KB, 6x aufgerufen)
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  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 12:11 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