Autor Beitrag
Dragonhunter
Hält's aus hier
Beiträge: 10

Win7
D7 Pers
BeitragVerfasst: Di 20.07.04 14:28 
Wie kann ich jedem einzelnen ComboBox-Item eine andere Schriftfarbe geben?
z.B. Item[0]=clRed; Item[1]=clBlue; ...

Habe hierzu weder in der Delphi-Hilfe noch im Forum etwas gefunden(Hoffe ich hab auch gründlich gesucht :? ).

Die gleiche Frage wurde hier im Forum schonmal gestellt, aber leider nicht beantwortet.

Im Voraus vielen Dank
maxk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1696
Erhaltene Danke: 1

Win XP, Debian Lenny
Delphi 6 Personal
BeitragVerfasst: Di 20.07.04 14:39 
Das geht nur, wenn du die Eintrag selber zeichnest. Stichwort OwnerDraw! Ich kriege den Code jetzt nicht hin, da ich gerade kein Delphi zur Hand habe. Wenn ich nachher Zeit finde, poste ich dir ein bisschen Code.

_________________
Ein Computer wird das tun, was Du programmierst - nicht das, was Du willst.
general_north
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Di 20.07.04 14:58 
Hallo,

nur ein Beispiel hierzu:

combobox auf "csOwnerDrawVariable" stellen und auf dem Ereigniss-Sheet das "OnDrawItem" doppelklicken.

Dann folgendes einfüllen:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
  With ComboBox1.Canvas.Font Do
  Begin
    Case Index Of
        0: Color := clGray ;
        1: Color := clAqua ;
        2: Color := clBlue ;
        3: Color := clRed  ;
      Else
        Color := clblack ;
    End ;
  End ;
  ComboBox1.Canvas.TextRect( Rect, Rect.Left + 10, Rect.Top + 2, ComboBox1.Items[ Index ] );


gehe hierbei davon aus das deine combobox "ComboBox1" heißt. Solltest vor dem testen ein paar items reintun ...

ABER, es ändert sich nun einiges due musst z.B. darauf achten dass deine Einträge in den richtigen Farben selektierte werden!

Viel spass ....
Dragonhunter Threadstarter
Hält's aus hier
Beiträge: 10

Win7
D7 Pers
BeitragVerfasst: Di 20.07.04 16:58 
Danke!
Genau so hatte ich mir das vorgestellt. :lol:

Zitat:
ABER, es ändert sich nun einiges due musst z.B. darauf achten dass deine Einträge in den richtigen Farben selektierte werden!

Das verstehe ich leider nicht! :oops:

Was mich jetzt noch so ein bißchen stört, ist, daß man bei einer unpassenden Markierungsfarbe , die darunterliegende Schrift nicht mehr lesen kann. (@general_north : oder meintest Du das)
Da gibt es doch bestimmt eine Möglichkeit, die Schriftfarbe des markierten Items auf z.B. clWhite zu setzen. Werd ich mal schauen.

Bis denn
Dragonhunter

Wie kann ich eigentlich ein Bild, das sich auf meiner Festplatte befindet, hier in meine Antwort einfügen? "http://URL_des_Bildes" im Antwort-Editor hab ich nicht so ganz verstanden bzw wollte nicht funktionieren.
maxk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1696
Erhaltene Danke: 1

Win XP, Debian Lenny
Delphi 6 Personal
BeitragVerfasst: Di 20.07.04 17:18 
Leider gar nicht. Du kannst das Bild nur einfügen, wenn es auf einem Server liegt. Als erst hochladen...
Ich glaube general_north meinte, dass jetzt wo du das Zeichnen übernimmst. Evtl. einige Sachen nicht mehr so aussehen wie früher. Bei einer ComboBox ist das jedoch nicht so vieles. Wenn dir was am Aussehen jetzt nicht mehr gefällt, bist du selbst dafür verantwortlich.

_________________
Ein Computer wird das tun, was Du programmierst - nicht das, was Du willst.
Dragonhunter Threadstarter
Hält's aus hier
Beiträge: 10

Win7
D7 Pers
BeitragVerfasst: Mi 21.07.04 12:24 
Mein Problem hat sich mittlerweile erledigt.
Ich wollte eigentlich in einer ComboBox mehrere Gruppen darstellen und diese dann farblich von einander abgrenzen.
Hab mich aber jetzt entschieden, mehrere ComboBoxen zu benutzen, die je nach ausgewähltem (Gruppen-)RadioButton aktiv/inaktiv sind.
Vermutlich hätte mein Programm, so wie ich es vorhatte, als ich diese Frage stellte, sowieso nicht funktioniert. :nut:

Egal. Eure Hinweise werd ich sicher später mal gebrauchen können.

Nochmal Danke! :wave:

Dragonhunter