Unterschiedliche Farben in Radiobuttongroup



  • Hallo,
    ich hab das Problem, dass ich die Values der einzelnen Radiobuttons einer Radiobuttogroup unterschiedlich einfärben muss.

    ABER WIE?????



  • @Diehler

    Mit der RadioGroup wurdes mir grad beim rumexperiementieren zu schwierig. Da es scheint als würden nur die Strings abgespeichert und nicht die Objekte selber.
    Und selbst

    TRadioButton *RadioButton1;
    RadioButton1 = new TRadioButton(this);
    RadioButton1->Font->Color = clGreen;
    RadioGroup1->Items->AddObject("Test",RadioButton1);
    // oder
    
    RadioButton->Assign(RadioGroup1->Items[RadioGroup1->ItemIndex]);
    // Gibt nur eine String zurück und führt deshalb zu einem Fehler
    

    hatte keinen erfolg.

    Darum würde ich dir raten lieber eine Groupbox zu nehmen.
    Also eine GroupBox und 2 Radiobutton auf ein Form und folgender Code

    RadioButton1->Font->Color = clGreen;
    RadioButton2->Font->Color = clBlue;
    RadioButton1->Parent =GroupBox1;
    RadioButton2->Parent =GroupBox1;
    

    Wie das mit ner RadioGroup gehen soll bin ich leider auch überfragt. 🙄



  • Bau dir die RadioGroup aus so RadioFeldern ... dann geht das ...

    Komponente erstellen etc ...



  • Tipp:
    Hilfe lesen, nachdenken und probieren. Man soll so schon tatsächlich eine Lösung gefunden haben :D:D:D

    // Vorausgesetzt es befinden sich mindestens 3 RadioButtons
    // in der TRadioGroup
    ((TRadioButton*)RadioGroup1->Controls[0])->Color=clRed;
    ((TRadioButton*)RadioGroup1->Controls[1])->Color=clGreen;
    ((TRadioButton*)RadioGroup1->Controls[2])->Color=clBlue;
    


  • Mit einer Groupbox funktionierts..... hab ich ausprobiert....

    Aber die Lösung von Peter ineressiert mich jetzt.
    Meine Radiobuttongroup heißt z.b. "R1" aber bei dem Code:

    R1->Controls[2]->Color = clGreen;
    

    bekomm ich eine Fehlermeldung...
    ich hab auch nichts in der Hilfe darüber gefunden....



  • Guck Dir mal mein Beispiel genau an, besonders den Cast auf TRadioButton 😉


Anmelden zum Antworten