Entwickler-Ecke

Sonstiges (Delphi) - Farbenliste


Maa83 - Fr 21.05.04 14:02
Titel: Farbenliste
Hallo,
wie kann man folgendes Problem elegant lösen?

habe eine ComboBox. In diese ComboBox sollen Farbnamen stehen. je nach dem welche Farbe ich auswähle soll sich der Text auch einfärben. (quasi wie z.b. in Word)

also wie ich den Text einfärbe weiss ich nur wie ich das mit der ComboBox genau mache weiss ich nicht.

was ich natürlich machen könnte wäre in die ComboBox die Namen der Farben schreiben und dann abfragen

if cb1.text = 'blau' then TextFrabe := clBlue;
...

das wär zwar möglich aber ich denke ziemlich bescheuert...

hoffe ihr könnt mir helfen

mfg
Martin


Gausi - Fr 21.05.04 14:20

hmm.. besser wäre wohl etwas wie:

Delphi-Quelltext
1:
2:
3:
var Palette: Array [0..10of Tcolor=(clblue, clred, $00AAEE22,...);
[..]
TextFarbe:=Palette[cb1.itemindex];

Nicht ausprobiert, aber in etwa so sollte es gehen.
Nur drauf achten, dass im Array genau so viele Elemente drin sind wie in der Combobox, entweder zur Designzeit, oder über ein dynamisches Array zur Laufzeit...


Maa83 - Fr 21.05.04 14:36

dementsprechend muss ich genau drauf achten das ich im Array die gleiche Reihenfolge habe wie in der ComboBox...


Gausi - Fr 21.05.04 19:55

Jep, aber das sollte ja auch nicht SOO ein Problem sein, oder? Es sei denn, du möchtest zur Laufzeit Farben an beliebiger Stelle hinzufügen, aber sonst:
Einmal n paar Farbnamen überlegen, dazu die passenden Farbwerte, und fertig.