Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Farben in Scrollbox ändern


Dargor - Sa 30.07.05 00:55
Titel: Farben in Scrollbox ändern
Ich habe 2 Fragen zur Änderung der Farben einer Scrollbox:

1. Normalerweise ist es ja nicht möglich die standardmäßig blaue Farbe von selektierten Items von Listen-Komponenten (z.B. Scrollbox) zu ändern, da die Farbe von Windows vorgegeben ist. (Ich meine die blaue Markierung von Elementen)
Kann man es trotzdem irgendwie erreichen, die Farbe zu ändern? Mir ist dabei egal, ob per WinAPI, Messages oder durch eine Extra-Komponente.

2. Die Farbe der Scrollleiste ist ebenso standardmäßig durch Windows definiert: grau. Auch diese Farbe (und wenn irgendwie möglich auch das Aussehen) würde ich gern ändern.


Keldorn - Sa 30.07.05 08:17
Titel: Re: Farben in Scrollbox ändern
user profile iconDargor hat folgendes geschrieben:
Ich habe 2 Fragen zur Änderung der Farben einer Scrollbox:

1. Normalerweise ist es ja nicht möglich die standardmäßig blaue Farbe von selektierten Items von Listen-Komponenten (z.B. Scrollbox) zu ändern, da die Farbe von Windows vorgegeben ist. (Ich meine die blaue Markierung von Elementen)
Kann man es trotzdem irgendwie erreichen, die Farbe zu ändern? Mir ist dabei egal, ob per WinAPI, Messages oder durch eine Extra-Komponente.

eine Scrollbox hat doch gar keine Selektierung. Du meinst eher eine Listbox, oder? Dort kannst du die Items selber zeichnen und den Eintrag, wenn er selektiert ist (gdselected in state), in einer anderen Hintergrundfarbe zeichnen. Das ist im Forum schon öfters diskutiert wurden, gugg nach Suche in: Delphi-Forum, Delphi-Library ONDRAWITEM

Mfg Frank


matze.de - Sa 30.07.05 10:11

Oder Messages: WM_CTLCOLORLISTBOX [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wceui40/html/cerefWM_CTLCOLORLISTBOX.asp]
WM_CTLCOLORSCROLLBAR [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wceui40/html/cerefwm_ctlcolorscrollbar.asp]

mfg matze


Dargor - Sa 30.07.05 10:18

Ja stimmt, hab die Scrollbox mit der Listbox verwechselt :roll:

Aber danke für die beiden Hinweise. Werde beides mal ausprobieren.


Dargor - Sa 30.07.05 16:48

Die Suche nach ONDRAWITEM im DF hat mir weitergeholfen.
Hab dieses Thema [http://www.delphi-forum.de/viewtopic.php?t=37503&highlight=ondrawitem] gefunden, wo es um CheckListBoxen geht.