Combobox Lazarus !!!

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Antworten
dynamostar95
Beiträge: 10
Registriert: Di 19. Aug 2014, 00:17

Combobox Lazarus !!!

Beitrag von dynamostar95 »

Hallo !!!

Ich bin gerade dabei ein etwas kompakteres Programm zu erstellen. Dabei habe ich ein Combobox eingebaut. Nun komme ich aber gerade nicht weiter oder stehe auf dem sogenannten Schlauch :) In der Combobox kann der Benutzer zwischen 10 Items auswählen. Nun möchte ich, dass der Benutzer wenn er ein Item auswählt und auf einen Button klickt sich ein Neues Formular öffnet.

Ist das zu kompliziert, was ich da plane? Gibt es vielleicht einen einfacheren Weg?

Dynamostar95

baumina
Beiträge: 152
Registriert: Mo 3. Feb 2014, 14:07
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit

Re: Combobox Lazarus !!!

Beitrag von baumina »

Dein Vorhaben ist alles andere als zu kompliziert, sondern eher normaler Alltag. Du legst auf das OnClick-Ereignis des Buttons den Code rein. Dort kannst du mit einem case auf Combobox.ItemIndex verschiedene Dinge tun oder auch ein anderes Formular öffnen.

Kleines Beispiel:

Code: Alles auswählen

procedure TForm1.Button1Click(Sender : TObject);
var
  UnterFormular : TForm2;
 
begin
  case ComboBox1.ItemIndex of
    0 : begin // erster Eintrag der Combobox gewählt
        end;
    1 : ; // zweiter Eintrag der Combobox gewählt
  end;
 
  UnterFormualar := TForm2.Create(self);
  UnterFormular.ShowModal;
  UnterFormulaer.Free;
end;
P.S. Die Ausrufezeichen im Betreff kann man echt weglassen.
.

Linkat
Lazarusforum e. V.
Beiträge: 559
Registriert: So 10. Sep 2006, 23:24
OS, Lazarus, FPC: Linux Mint 22; Lazarus 3.4 FPC 3.2.2; RaspiOS
CPU-Target: AMD 64, ARM 64
Wohnort: nr Stuttgart

Re: Combobox Lazarus !!!

Beitrag von Linkat »

Hallo dynamostar95,
herzlich willkommen im Lazarus-Forum.

Für dein Problem kannst du auch das OnSelect-Ereignis nehmen und dir den Button sparen.

Code: Alles auswählen

 
procedure TForm1.ComboBox1Select(Sender: TObject);
begin
  case ComboBox1.ItemIndex of
  0:begin
     .....
  end;
  1:Caption:=ComboBox1.Items[ComboBox1.ItemIndex];
  2:Caption:=ComboBox1.Items[ComboBox1.ItemIndex];
  3:Caption:=ComboBox1.Items[ComboBox1.ItemIndex];
  end;
end;
 
 
Gruß, Linkat
Linux Mint 21.3; Lazarus 3.4 FPC 3.2.2; RaspiOS

Antworten