AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Unterschiedliche Selektionsfarben bei TListBox und TListView

Unterschiedliche Selektionsfarben bei TListBox und TListView

Ein Thema von Shark99 · begonnen am 10. Jul 2018 · letzter Beitrag vom 11. Jul 2018
Antwort Antwort
Seite 1 von 3  1 23   
Shark99

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

Unterschiedliche Selektionsfarben bei TListBox und TListView

  Alt 10. Jul 2018, 12:33
Angehängt ist ein Screenshot aus Delphi Xe5.

Auf der linken Seite ist eine TListbox, rechts eine TListView. Wieso sind die Selektionsfarben unterschiedlich? Die ListView scheint die standard Selektionsfarbe von Windows zu nehmen. Die Listbox nimmt für die Selektion clHighlight aus dem Delphi Farbraum. Ich hätte gerne, dass die Listbox auch die standard Selektionsfarbe von Windows nimmt.

Wo bekomme ich den Farbwert her?
Miniaturansicht angehängter Grafiken
20180710112704427.png  
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
34.656 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

AW: Unterschiedliche Selektionsfarben bei TListBox und TListView

  Alt 10. Jul 2018, 12:56
Weil das aktive Theme (Skin/Design/...) der ListView eigene Farben definiert hat.

Wer hält sich denn heutzutage noch an Standards/Vorgaben.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai
Online

Registriert seit: 9. Apr 2006
1.197 Beiträge
 
Delphi 5 Professional
 
#3

AW: Unterschiedliche Selektionsfarben bei TListBox und TListView

  Alt 10. Jul 2018, 13:02
Die Listbox nimmt für die Selektion clHighlight aus dem Delphi Farbraum.
Nicht wirklich. clHighlight ist die im Windows definierte Farbe für Selektionen/Auswahlen, die z.B. in Listboxen, Editboxen (markierter Text), Comboboxen usw. verwendet wird.

Grüße
Dalai
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
34.656 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

AW: Unterschiedliche Selektionsfarben bei TListBox und TListView

  Alt 10. Jul 2018, 13:16
clHighlight ist eine Konstante, die für jene Farbe steht.

Mit Delphi-Referenz durchsuchenColorToRGB kann man sich darüber die jeweilige System-Farbe holen, bzw. beim Zeichnen werden solche Konstanten automatisch übersetzt.
clHighlight = TColor($FF000000 + COLOR_HIGHLIGHT) // COLOR_HIGHLIGHT = 13
siehe MSDN-Library durchsuchenGetSysColor
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014

Geändert von himitsu (10. Jul 2018 um 13:24 Uhr)
  Mit Zitat antworten Zitat
Shark99

Registriert seit: 16. Mai 2007
389 Beiträge
 
#5

AW: Unterschiedliche Selektionsfarben bei TListBox und TListView

  Alt 10. Jul 2018, 13:25
Weil das aktive Theme (Skin/Design/...) der ListView eigene Farben definiert hat.

Wer hält sich denn heutzutage noch an Standards/Vorgaben.
Verstehe ich nicht. Hab Theming nicht aktiv. Es gibt auch kein Skin property bei der Listbox.
Die Listbox nimmt für die Selektion clHighlight aus dem Delphi Farbraum.
Nicht wirklich. clHighlight ist die im Windows definierte Farbe für Selektionen/Auswahlen, die z.B. in Listboxen, Editboxen (markierter Text), Comboboxen usw. verwendet wird.
Leider ist es nicht der Fall. clHighlight ist bei mir RGB(0, 120, 215). Das ist die gleiche Farbe die als Selektionshintergrund in der Listbox verwendet wird. Die Win32 Komponenten wie die Listview verwenden aber für die Selektion RGB(204, 232, 255). Ich will aber keine festen Farbwerte verwenden. Hätte viel lieber die Windows-Farbe für Selektionshintergrund irgendwo ausgelesen.

Edit: GetSysColor(COLOR_HIGHLIGHT) ergibt auch RGB(0, 120, 215), also nicht die Farbe die TListview, TTreeview etc für Selectionshintergrund verwenden.

Geändert von Shark99 (10. Jul 2018 um 13:30 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
34.656 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#6

AW: Unterschiedliche Selektionsfarben bei TListBox und TListView

  Alt 10. Jul 2018, 13:43
Doch, das hast du.
Miniaturansicht angehängter Grafiken
listviewtheme.png  
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai
Online

Registriert seit: 9. Apr 2006
1.197 Beiträge
 
Delphi 5 Professional
 
#7

AW: Unterschiedliche Selektionsfarben bei TListBox und TListView

  Alt 10. Jul 2018, 14:00
Leider ist es nicht der Fall.
Doch, es ist genau, wie ich beschrieben habe. ListViews verwenden aber eine eigene, vom Windows-Theme definierte Hintergrundfarbe für die Selektion, wie himitsu schon richtig anmerkte.

Grüße
Dalai
  Mit Zitat antworten Zitat
Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
345 Beiträge
 
Delphi 2009 Professional
 
#8

AW: Unterschiedliche Selektionsfarben bei TListBox und TListView

  Alt 10. Jul 2018, 15:09
Windows hat für Listview-Auswahlen einen Skin, für Listbox-Auswahlen nicht. Das ist überall so und keine Delphi-bezogene Frage.
Janni
2005 PE, 2009 PA, XE2 PA
  Mit Zitat antworten Zitat
Shark99

Registriert seit: 16. Mai 2007
389 Beiträge
 
#9

AW: Unterschiedliche Selektionsfarben bei TListBox und TListView

  Alt 10. Jul 2018, 15:13
Wie kann ich diese Farbe auslesen? Muss doch irgendwie wie GetsysColor gehen.
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.621 Beiträge
 
Delphi 2007 Professional
 
#10

AW: Unterschiedliche Selektionsfarben bei TListBox und TListView

  Alt 10. Jul 2018, 15:28
Wie kann ich diese Farbe auslesen? Muss doch irgendwie wie GetsysColor gehen.
Vermutlich ist das eher als Bitmap hinterlegt. Da kommst du vermutlich mit Windows' Theme API ran; vielleicht auch über den StyleManager der VCL (oder wie auch immer das Ding mittlerweile heißt).
Uli Gerhardt
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 02:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2018 by Daniel R. Wolf