AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Farbe der ausgewählten unfokusierten Einträge in einem TListView
Thema durchsuchen
Ansicht
Themen-Optionen

Farbe der ausgewählten unfokusierten Einträge in einem TListView

Ein Thema von Shark99 · begonnen am 16. Dez 2015 · letzter Beitrag vom 16. Dez 2015
Antwort Antwort
Shark99

Registriert seit: 16. Mai 2007
403 Beiträge
 
#1

Farbe der ausgewählten unfokusierten Einträge in einem TListView

  Alt 16. Dez 2015, 12:47
In einem standard TListView werden die ausgewählten Einträge mit einer blauen Markierung angezeigt.

Wenn das Listview den Focus verliert ändert sich die Farbe von blau zu einem hellen grau.

Kann ich das irgendwie verhindern ohne eine Fremkomponente nehmen zu müssen?

Ich will also dass die ausgewählten Einträge immer blau bleiben, auch wenn man Listview keinen Focus hat.
Das gleiche Verhalten also wie eine TListBox hat.

Für ein Codebeispiel wäre ich sehr dankbar!
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.303 Beiträge
 
Delphi 12 Athens
 
#2

AW: Farbe der ausgewählten unfokusierten Einträge in einem TListView

  Alt 16. Dez 2015, 13:51

Eoin Codebeispiel aus dem die Lösung quasi ins Auge springt... (Das ist jede 2. Linie anders färben)
Delphi-Quellcode:
procedure TForm1.ListView1CustomDrawItem(Sender: TCustomListView;
  Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
  if Odd(Item.Index) then
    Sender.Canvas.Brush.Color := clYellow
  else
    Sender.Canvas.Brush.Color := clRed;
end;
  Mit Zitat antworten Zitat
Shark99

Registriert seit: 16. Mai 2007
403 Beiträge
 
#3

AW: Farbe der ausgewählten unfokusierten Einträge in einem TListView

  Alt 16. Dez 2015, 13:55
Das ist leider keine Lösung, weil es nur für nicht selektierte Einträge funktioniert. Die Selektionen bleiben damit blau beim focused Listview und grau ohne Fokus.

Bevor ich die Frage hier stellte war ich zwei Stunden am googeln und habe auch einiges mit Ownerdraw versucht, jedoch entweder ohne Erfolg, oder mit starken Nebenwirkungen (Grafikfehler).
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.303 Beiträge
 
Delphi 12 Athens
 
#4

AW: Farbe der ausgewählten unfokusierten Einträge in einem TListView

  Alt 16. Dez 2015, 14:20
Upps...
Da meinte ich doch ich hätte das schonmal gemacht und kopierte mal eben einen Code der dem ganzen nahe kam. Jetzt kommt die Erkenntnis das das damals keine Listviews sondern DB Grids waren. Sorry...
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.303 Beiträge
 
Delphi 12 Athens
 
#5

AW: Farbe der ausgewählten unfokusierten Einträge in einem TListView

  Alt 16. Dez 2015, 14:38
Bitteschön...

Setze mal HideSelection auf True. Dann bleibt bei mir der Balken blau... Vom Namen und dem Effekt würde ich es eher andersherum vermuten.

Ergänzung:
Das linke Bild ist unfocusiert mit HideSelection = True.
Das rechte Bild ist das was du hast...unfocusiert mit HideSelection = False.
Angehängte Grafiken
Dateityp: png ohne.png (19,2 KB, 20x aufgerufen)
Dateityp: png mit.png (19,3 KB, 19x aufgerufen)

Geändert von haentschman (16. Dez 2015 um 14:53 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#6

AW: Farbe der ausgewählten unfokusierten Einträge in einem TListView

  Alt 16. Dez 2015, 14:45
Ich will jetzt nicht zu böse klingen, aber bist du farbenblind?
Auf deinem 2. Screenshot ist genau das zu sehen was er nicht haben möchte.
Eine GRAUE Hinterlegung des selektierten Items. Er möchte es in der gleichen Farbe haben wie auf dem linken Screenshot (blau).
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Antwort Antwort


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 04:43 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