TColorBox Farben festlegen
-
Hallo,
ich habe ein TColorBox auf meiner Form. Nun suche ich die Option, wo ich die Farben auswählen kann, die in der Liste erscheinen sollen. In der Hilfe steht, dass das in der Eigenschaft Colors stehen würde. Allerdings gibt es diese Eigenschaft nicht.Wie kann ich die Farben zuweisen?
greetz KN4CK3R
-
schau mal in der BCB-Hilfe bei TColorBox unter Style, die Eigenschaft Colors kann nur gelesen werden und gibt alle Fraben des Feldes aus, die Eigenschaft Color ist nur für die Hintergrundfarbe der TColorBox
-
ja, das habe ich auch schon gefunden. Nur mit keiner der Einstellungen kann ich selbst Farben definieren. Ich will nur 6 Farben in der Liste haben.
Schwarz/Weiß/Blau/Geld/Rot/Grün
Nur wo ich das einstelle, bekomm ich leider nicht heraus.
greetz KN4CK3R
-
dann mußt du entweder eine eigene Komponente von TColorBox ableiten oder du benutz eine einfache ComboBox und zeigst dort die Farben an, z.B.
const TColor bgColor[6] = {clOlive, clLime,clGreen, clTeal,clRed, clBlue}; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { ComboBox1->Clear(); ComboBox1->Style = csOwnerDrawFixed; for (int i=0; i<6; i++) { ComboBox1->Items->Add(""); } } //--------------------------------------------------------------------------- void __fastcall TForm1::ComboBox1DrawItem(TWinControl *Control, int Index, TRect &Rect, TOwnerDrawState State) { ComboBox1->Canvas->Brush->Color=bgColor[Index]; ComboBox1->Canvas->FillRect(Rect); } //--------------------------------------------------------------------------- void __fastcall TForm1::ComboBox1Change(TObject *Sender) { Form1->Color=ComboBox1->Canvas->Brush->Color; } //---------------------------------------------------------------------------
-
danke schön