VBA: Listbox farbig hinterlegen
Peter
- programmiertechnik
0 Maxx
Hallo,
Ich will in vba eine Listbox farbig hinterlegen, als jeden Eintrag in einer anderen Farbe. Nun gibt es für das Element Listbox ja leider keine painanweisung. Es soll aber über wm_paint irgendwie machabr sein. Ich suche nun schon seit stunden im netz danach und habe nichts brauchbares gefunden. Wie kann ich denn mit wm_paint (was ist das?) die Farbe von dem Eintrag mit dem index x ändern ?
Vielen Dank für jede Hilfe
Gruss
Peter
Hallo Peter,
Ich will in vba eine Listbox farbig hinterlegen, als jeden Eintrag in einer anderen Farbe.
das Zeichnen in einer Listbox ist recht kniffelig. Ich habe so etwas mal vor Jahren zu Win 3.1 Zeiten gemacht. Mein diesbezügliches Wissen ist seitdem etwas eingerostet.
Die Listbox benötigt den Stil "LBS_OWNERDRAW" (Ich denke, dass sich das unter VBA nicht geändert hat) Der Dialog erhält nun die Nachrichten "WM_MEASUREITEM" bzw. "WM_DRAWITEM" (in VBA musst du vermutlich irgendwelche Methoden OnDrawItem, OnMessureItem überschreiben) auf die du reagieren musst. CreateBrush(), SetBackgroundColor() und SetTextColor() oder so ähnlich.
Fütter Google einfach mal mit "LBS_OWNERDRAW" und/oder den weiteren Begriffen.
Viele Grüße,
Jochen