Hallo,
ich arbeite zurzeit mit einer ComboBox in der Einträge vorhanden sind und weitere im Programm hinzugefügt werden sollen, desweiteren sollen Einträge auch wieder gelöscht werden. Dafür wird das Event KeyDown benutzt.
Ein wenig Quelltext:
Delphi-Quellcode:
procedure TfrmMainDB_Eigenschaften.cBoxServernameKeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
var i: integer;
begin
if Key = VK_RETURN then
begin
if cBoxServername.ItemIndex= -1 then // Kein Eintrag vorhanden
// ohne Prüfung eintragen
begin
cBoxServername.Items.Add(cBoxServername.Text);
end else
begin
for I := 0 to cBoxServername.Items.Count - 1 do
begin
// Doppelte und leere Einträge verhindern
if not (cBoxServername.Items[i] =
cBoxServername.Text) and not (Trim(cBoxServername.Text)= '') then
begin
if cBoxServername.Items.IndexOf(cBoxServername.Text) < 0 then
begin
cBoxServername.Items.Add(cBoxServername.Text);
end;
end;
end;
end;
Key:= 0;
end;
if Key = VK_DELETE then
begin
for I := 0 to cBoxServername.Items.Count - 1 do
begin
if cBoxServername.Items[i] = cBoxServername.Text then
begin
cBoxServername.DeleteSelected; // Angezeiter Eintrage löschen
cBoxServername.ItemIndex := 0; // Auf den ersten Eintrag einstellen
// soweit vorhanden.
key:= 0;
break;
end;
end;
end;
if Key = VK_BACK then
begin
key:= 0;
end;
end;
Bevor ich jetzt weiter mache ist meine Frage, gibt’s dafür eigentlich eine fertige Lösung die ich noch nicht gefunden habe, oder muss man es eben alles von Hand machen?
Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.