Bonjour �tant d�butant dans ce domaine,
je cherche � supprimer un �l�ment de ma Combobox
avec l' utilisation de mon bouton "Delete":
jai essayer :ComboBox->Items->Delete(ComboBox->ItemIndex)
sa n'a pas d'effet.
![]()
Bonjour �tant d�butant dans ce domaine,
je cherche � supprimer un �l�ment de ma Combobox
avec l' utilisation de mon bouton "Delete":
jai essayer :ComboBox->Items->Delete(ComboBox->ItemIndex)
sa n'a pas d'effet.
![]()
Normalement, cela fonctionne.
V�rifie si itemindex est sup�rieur ou �gal � 0.
La valeur du 1er items est 0 et itemindex peut avoir -1 comme valeur si aucun items n'est s�lectionn�.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7 if (ComboBox1->ItemIndex >= 0) { ComboBox1->Items->Delete(ComboBox1->ItemIndex); } else { Application->MessageBox("Veuillez sélectionner un programme dans la liste déroulante.", "Erreur", MB_OK); }
Salut !
Cette fois-ci je vais utiliser le double click pour demander confirmation de la suppression de la ligne.
On pourrait aussi utiliser la touche del (suppr) :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 void __fastcall TForm1::ComboBox1DblClick(TObject *Sender) { AnsiString N = ComboBox1->Text; int n = ComboBox1->Items->IndexOf(N); if(n != -1) { AnsiString Text = " Do you want to delete : " + N; if(Application->MessageBox(Text.c_str(), "Deleting", MB_OKCANCEL) == ID_OK) { ComboBox1->Items->Delete(n); ComboBox1->ItemIndex = 0; } } }
A plus !
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 void __fastcall TForm1::ComboBox1KeyDown(TObject *Sender, WORD &Key, TShiftState Shift) { AnsiString N = ComboBox1->Text; if(Key == VK_DELETE) { int n = ComboBox1->Items->IndexOf(N); if(n != -1) { AnsiString Text = " Do you want to delete : " + N; if(Application->MessageBox(Text.c_str(), "Deleting", MB_OKCANCEL) == ID_OK) { ComboBox1->Items->Delete(n); ComboBox1->ItemIndex = 0; } } Key=0; } }
Partager