CListBox-Elemente farbig gestalten
-
hi,
Ich versuche schon seit längerem die ausgegebenen Strings in meiner CListBox farbig zu gestalten.
Und komme einfach nicht mehr weiter.
Könnte mir jemand helfen bzw. Tipps geben?
Je nach Fallunterscheidung in meinem Programm möchte ich grüne und rote strings ausgeben.Viele Grüße
Tanja
-
hi
leg einfach mal ne Klasse basierend auf CListBox an, danach überschreibst OnPaint() und schaust ob de da was beeinflussen kannst (in der Klassenansicht der alten Klasse)
ansonsten musst du die funktion finden, die für die ausgabe der schrift verantwortlich ist hier musst de dann die CPaintDC oder CClientDC bezüglich der TextColor beeinflussen
die neue Klasse wird dann anstatt der alten eingebunden
-
HI,
danke für die Hilfe. Werde es gleich mal umsetzen.Tanya
-
Nicht das Rad neu erfinden wenn nicht notwendig
http://www.codeguru.com/Cpp/controls/listbox/colorlistboxes/article.php/c1611/
-
jo hast recht aber so lernt mans nie...
und copyrightrechte sind beim selber machen nich vorhanden!
-
kreen schrieb:
leg einfach mal ne Klasse basierend auf CListBox an, danach überschreibst OnPaint() und schaust ob de da was beeinflussen kannst
So geht's nicht!
Um die Einträge einer Listbox selbst zu malen, muss das Flag LBS_OWNERDRAWFIXED oder LBS_OWNERDRAWVARIABLE gesetzt sein, und die Funktion CListBox::DrawItem überschrieben werden.
Schau' lieber in das Beispiel von Unix-Tom, da siehst du wie's gemacht wird.