AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Frage zur Combobox (csdropdownlist)

Ein Thema von polondo · begonnen am 27. Aug 2006 · letzter Beitrag vom 27. Aug 2006
Antwort Antwort
polondo

Registriert seit: 1. Sep 2005
84 Beiträge
 
#1

Frage zur Combobox (csdropdownlist)

  Alt 27. Aug 2006, 07:26
hallo ich habe eine Frage zu den gewöhnlichen Comboboxen in Delphi 2005.
In meinem Programm ist es manchmal notwendig das ich meine Comboboxen editierbar habe und manchmal nicht.
Ich habe schon herausgefunden das ich dazu im "Style" der Combobox entweder "csdropdown" oder "csdropdownlist" nehmen muss.
Allerdings scheint das Ganze bei mir nicht wirklich zu funktionieren. Ich stelle die Combobx von Anfang an auf csdropdownlist(also nicht editierbar)
und starte dann das programm. Immer wenn ich etwas vom Programm aus in die Combobox füllem möchte stelle ich die Combobox per Programmcode auf
"csdropdown" und wenn ich fertig bin mit beschreiben der Combobox dann wieder zurück auf csdropdownlist. bei mir bleibt er aber irgendwie immer auf
"csdropdownlist" und lässt sich nicht editieren. kann es sein das ich da noch etwas anderes machen muss außer das "style" umzustellen?

danke schonmal für alle Antworten

mfg R.
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Frage zur Combobox (csdropdownlist)

  Alt 27. Aug 2006, 08:33
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.
  Mit Zitat antworten Zitat
polondo

Registriert seit: 1. Sep 2005
84 Beiträge
 
#3

Re: Frage zur Combobox (csdropdownlist)

  Alt 27. Aug 2006, 14:15
danke erstmal für deine antwort!

was ich damit meinte ist das ich es zur laufzeit ändern möchte bzw. bereits bestehende einträge anwählen.
habe herausgefunden das es zu meinem problem folgende lösung gibt:

combobox.itemindex := combobox.items.indexof('text'); damit hab ichs gelöst


mfg R.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:59 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz