FAQ 0066: Wie kann ich Einträge einer Listbox/Combobox einfärben?
von Dietrich Nohl
Frage
Wie kann ich Einträge einer Listbox/Combobox farblich oder schriftbildlich variieren?
Informationen
Mit VB-eigenen Mitteln geht das nicht, die Steuerelemente bieten keine entsprechenden Eigenschaften.
Als Alternativen bieten sich die Steuerelemente TreeView ( AboutVB.de: Wolf im Schafspelz), ListView ( VBAccelerator.com: S-Grid Control) oder Flexgrid an.
Prinzipiell wäre eine Lösung mittels Subclassing denkbar (einen entsprechenden Tipp nehmen wir gern in unsere Sammlung auf).
Man kann auch eine ListBox im OwnerDrawn-Modus darstellen ( VBAccelerator.com: Owner Draw Combo and List Boxes Version 2.1). Das ist aber ein unverhältnismäßig großer Aufwand.
Für den Umgang mit den genannten Steuerelementen finden sich einige Tipps in unserer Tips'n Tricks-Rubrik.
Lösung mittels SubClassing
Beispiel 1
Daniel Aue (Danielo) hat ein Beispiel eingesandt, welches SubClassing und Assembler verwendet. Im Download ist es im Archiv colorlistbox.zip zu finden. Danielo steht mit dem Autor des Beispiels in Kontakt, letzterer hat uns den Quellcode freundlicherweise überlassen.
Beispiel 2
Ihre Meinung
Falls Sie Fragen zu dieser FAQ haben, Ihre Erfahrung mit anderen Nutzern austauschen möchten oder auf eine Ergänzung hinweisen möchten, dann teilen Sie uns diese bitte in einem der unten vorhandenen Themen oder über einen neuen Beitrag mit. Hierzu können sie einfach einen Beitrag in einem zum Thema passenden Forum anlegen, welcher automatisch mit dieser Seite verknüpft wird.