Radiobutton und Combobox items kombinieren
-
Hallo habe die Komponenten wie in dem Bild zu sehen ist.
Ich möchte nun wenn ich Radiobutton suchen auswähle 6 items beim Combobox haben zur Auswahl und wenn ich löschen wähle nur 3. Wie kann ich dies machen?
-
erstelle die Items zur Laufzeit bei der onClick Methode des RadioButtons
void __fastcall TForm1::RadioButton1Click(TObject *Sender) { ComboBox1->Clear(); for (int i=0;i<6;i++) { ComboBox1->AddItem("Item_"+IntToStr(i+1),0); } }
und bei dem anderen RadioButton halt die Schleife nur 3 mal.
Gruß
-
@notloggedin
Vielen Dank für deine Antwort. Aber wenn ich das so mache wie du es geschrieben hast, ercheint ja nur Item_1.. und die eigentlichen Namen der items werden überschrieben.
Die items der Combox für suchen sollen folgende sein:
bitte wählen
Name
Vorname
Geburtsdatum
Stadt
Landund für löschen lediglich:
bitte wählen
Name
Vorname
-
kein Problem, dann so:
__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { item_names[0] = "Name"; item_names[1] = "Vorname"; item_names[2] = "Geburtsdatum"; item_names[3] = "Stadt"; item_names[4] = "Land"; } //--------------------------------------------------------------------------- void __fastcall TForm1::CheckBox1Click(TObject *Sender) { ComboBox1->Clear(); for (int i=0;i<5;i++) { ComboBox1->AddItem(item_names[i],0); } ComboBox1->Text = "bitte wählen"; ComboBox1->ItemIndex = -1; //kein Item gewaehlt } //--------------------------------------------------------------------------- void __fastcall TForm1::CheckBox2Click(TObject *Sender) { ComboBox1->Clear(); for (int i=0;i<2;i++) { ComboBox1->AddItem(item_names[i],0); } ComboBox1->Text = "bitte wählen"; ComboBox1->ItemIndex = -1; //kein Item gewaehlt }
und das Array als private im Header:
private: // Anwender-Deklarationen AnsiString item_names[5]; //Array Typ AnsiString
Das "bitte wählen" dürfte ja kein echtes Item sein, deshalb habe ich das als Text eingefügt und den Index auf -1 gesetzt. Die Schleife hat daher nur 5 Durchgänge.
-
@notloggedin
danke notloggedin hast was gut bei mir