Zitat von
polondo:
....Immer wenn ich etwas vom Programm aus in die Combobox füllem möchte ...
Hai polondo,
was verstehst Du denn unter "vom Programm aus"?
Wenn Du etwas zur Leufzeit zu der ComboBox hinzufügen möchtest musst Du den Style ja nicht ändern.
Oder möchtest Du wirklich den Text
in der ComboBox ändern? Wenn ja: Möchtest Du diese Änderung dann auch als Eintrag in der ComboBox haben?
Wenn ich auf der Form eine TComboBox, ein TEdit, eine TCheckBox und einen TButton habe kann ich das zum Beispiel so machen:
Delphi-Quellcode:
// Beim klick auf den Button wir der Eintrag aus dem Edit1 zur ComboBox hinzugefügt.
// Unabhängig davon welchen "Style" sie ha
procedure TDemo_Form.btn_AddEdit2ComboBoxClick(Sender: TObject);
begin
ComboBox1.Items.Add(Edit1.Text);
end;
// Über die CheckBox wird der "Style" der ComboBox geändert.
procedure TDemo_Form.CheckB_ComboBoxStyleClick(Sender: TObject);
begin
if ((Sender as TCheckBox).Checked) then
begin
ComboBox1.Style := csDropDown;
end
else
begin
ComboBox1.Style := csDropDownList;
end;
end;
// Wenn die ComboBox editierbar ist (Style = csDropDown) kann der Text geändert werden.
// Beim verlassen der CB wird ein neuer Text zu den Items hinzugefügt.
procedure TDemo_Form.ComboBox1Exit(Sender: TObject);
begin
with (Sender as TComboBox) do
begin
if (Style = csDropDown) then
begin
if (Items.IndexOf(Text) = -1) then
begin
Items.Add(Text);
end;
end;
end;
end;
Stephan B.