Difference between revisions of "TListBox/de"
(Created page with "{{TListBox}} Diese Seite erklärt, wie man die TListBox Komponente verwendet. Auf etwas klicken bedeutet immer ein Linksklick, ein Rechtskl...") |
(Added "Verwendung") |
||
Line 5: | Line 5: | ||
==Beschreibung== | ==Beschreibung== | ||
− | + | Eine scrollbare Liste von Strings. | |
[[image:Comp_Standard_TListBox.png]] | [[image:Comp_Standard_TListBox.png]] | ||
==Verwendung== | ==Verwendung== | ||
+ | |||
+ | Um eine [[doc:lcl/stdctrls/tlistbox.html|TListBox]] auf einem [[TForm/de|Formular]] zu nutzen, kann man sie einfach auf der Komponentenpalette ''Standard'' auswählen und, mit einem Klick auf das Formular, platzieren.<br> | ||
+ | |||
+ | Die, in der ListBox hinterlegten, [[String/de|Strings]] sind in der Eigenschaft ''Items'' hinterlegt, die vom Typ TStrings ist. Somit können Sie Strings der Listbox zuweisen oder entfernen, wie bei einer [[TStringList-TStrings Tutorial/de|TStringList]] oder ihres Vorfahrens [[TStringList-TStrings Tutorial/de|TStrings]]. | ||
+ | |||
+ | Nachfolgend ein paar Beispiele zur Verwendung einer ListBox ''ListBox1'' auf einem Formular ''Form1'': | ||
+ | |||
+ | ===ListBox füllen=== | ||
+ | |||
+ | ====per Objektinspektor==== | ||
+ | |||
+ | * Wählen Sie die ListBox auf Ihrem Formular mit einem Klick an. | ||
+ | * Gehen Sie im Objektinspektor im Reiter Eigenschaften auf die Eigenschaft ''Items''. | ||
+ | * Klicken Sie auf den Button mit den drei Punkten. Der Zeichenketteneditor öffnet sich. | ||
+ | * Geben Sie Ihre Texte ein und bestätigen Ihre Arbeit mit ''OK''. | ||
+ | |||
+ | ====per Code bei Buttonklick==== | ||
+ | * Fügen Sie Ihrem Formular einen [[TButton/de|TButton]] hinzu mit dem Namen ''btnFill'' und Caption ''Listbox füllen''. Im Eventhandler ''OnClick'' des Buttons schreiben Sie folgenden Code: | ||
+ | <source> | ||
+ | procedure TForm1.btnFillClick(Sender: TObject); | ||
+ | begin | ||
+ | ListBox1.Items.Clear; //Alle vorhandenen Strings löschen | ||
+ | ListBox1.Items.Add('Erste Zeile'); | ||
+ | ListBox1.Items.Add('Zeile mit Zufallszahl '+IntToStr(Random(100))); | ||
+ | ListBox1.Items.Add('Dritte Zeile'); | ||
+ | ListBox1.Items.Add('Noch eine Zufallszahl '+IntToStr(Random(100))); | ||
+ | end; | ||
+ | </source> | ||
+ | |||
+ | ====Zuweisung einer StringList==== | ||
+ | |||
+ | * Fügen Sie Ihrem Formular einen [[TButton/de|TButton]] hinzu mit dem Namen ''btnFill'' und Caption ''Listbox füllen''. Im Eventhandler ''OnClick'' des Buttons schreiben Sie folgenden Code: | ||
+ | <source> | ||
+ | procedure TForm1.btnFillClick(Sender: TObject); | ||
+ | var | ||
+ | myStringList: TStringList; | ||
+ | begin | ||
+ | myStringList:=TStringList.Create; //Meine StringList erstellen | ||
+ | myStringList.Add('Das ist die erste Zeile.'); //dieser eine Zeile zufügen | ||
+ | myStringList.Add('Das ist die zweite Zeile.'); | ||
+ | myStringList.Add('Das ist die dritte Zeile.'); | ||
+ | myStringList.Add('usw.'); | ||
+ | ListBox1.Items.Assign(myStringList); //der ListBox1 den Textinhalt meine StringList zuweisen | ||
+ | myStringList.Free; //Meine StringList im Speicher wieder freigeben | ||
+ | end; | ||
+ | </source> | ||
+ | |||
+ | ===String zufügen=== | ||
+ | |||
+ | Es wird mit | ||
+ | |||
+ | * Erweitern Sie das Beispiel [[TListBox/de#per Code bei Buttonklick|ListBox füllen per Code bei Buttonklick]] um ein [[TEdit/de|TEdit]] und einen [[TButton/de|TButton]] mit einem Namen ''btnAdd'' und Caption ''String zufügen''. Ändern Sie noch von ''Edit1'' die Eigenschaft Text zu "" - leerer String. | ||
+ | *Im Eventhandler ''OnClick'' des Buttons schreiben Sie folgenden Code: | ||
+ | <source> | ||
+ | procedure TForm1.btnAddClick(Sender: TObject); | ||
+ | begin | ||
+ | ListBox1.Items.Add(Edit1.Text); | ||
+ | Edit1.Text:=''; | ||
+ | end; | ||
+ | </source> | ||
+ | |||
+ | ===String löschen=== | ||
+ | |||
+ | Standardgemäß ist eingestellt, dass Sie nur eine Zeile in Ihrer Listbox selektieren können. Wollen Sie mehere Zeilen in Ihrer ListBox auswählen können, müssten Sie die Eigenschaft ''MultiSelect'' auf ''True'' stellen. | ||
+ | |||
+ | ====Lösche String bei ItemIndex==== | ||
+ | |||
+ | * Erweitern Sie das Beispiel [[TListBox/de#String zufügen|String zufügen]] um einen [[TButton/de|TButton]] mit einem Namen ''btnDel'' und Caption ''String löschen''. | ||
+ | * Im Eventhandler ''OnClick'' des Buttons schreiben Sie folgenden Code: | ||
+ | <source> | ||
+ | procedure TForm1.btnDelClick(Sender: TObject); | ||
+ | begin | ||
+ | if ListBox1.ItemIndex > -1 then //Nur löschen, wenn ein String in der Listbox selektiert ist | ||
+ | ListBox1.Items.Delete(ListBox1.ItemIndex); | ||
+ | end; | ||
+ | </source> | ||
+ | |||
+ | ====Lösche alle selektierten Strings==== | ||
+ | |||
+ | * Erweitern Sie das Beispiel [[TListBox/de#String zufügen|String zufügen]] um einen [[TButton/de|TButton]] mit einem Namen ''btnDel'' und Caption ''String löschen''. | ||
+ | * Im Eventhandler ''OnClick'' des Buttons schreiben Sie folgenden Code: | ||
+ | <source> | ||
+ | procedure TForm1.btnDelClick(Sender: TObject); | ||
+ | var | ||
+ | i: Integer; | ||
+ | begin | ||
+ | if ListBox1.SelCount > 0 then //Nur löschen, wenn min. ein String in der Listbox selektiert ist | ||
+ | for i:=ListBox1.Items.Count - 1 downto 0 do //Alle Items durchlaufen | ||
+ | if ListBox1.Selected[i] then //Falls ausgewählt... | ||
+ | ListBox1.Items.Delete(i); //...das Item (String) löschen | ||
+ | end; | ||
+ | </source> | ||
Line 18: | Line 110: | ||
[[Category:LCL/de]] | [[Category:LCL/de]] | ||
[[Category:Components/de]] | [[Category:Components/de]] | ||
+ | --[[User:Michl|Michl]] 22:30, 22 May 2014 (CEST) |
Revision as of 22:30, 22 May 2014
│
Deutsch (de) │
English (en) │
suomi (fi) │
français (fr) │
日本語 (ja) │
Diese Seite erklärt, wie man die TListBox Komponente verwendet. Auf etwas klicken bedeutet immer ein Linksklick, ein Rechtsklick wird explizit erwähnt.
Beschreibung
Eine scrollbare Liste von Strings.
Verwendung
Um eine TListBox auf einem Formular zu nutzen, kann man sie einfach auf der Komponentenpalette Standard auswählen und, mit einem Klick auf das Formular, platzieren.
Die, in der ListBox hinterlegten, Strings sind in der Eigenschaft Items hinterlegt, die vom Typ TStrings ist. Somit können Sie Strings der Listbox zuweisen oder entfernen, wie bei einer TStringList oder ihres Vorfahrens TStrings.
Nachfolgend ein paar Beispiele zur Verwendung einer ListBox ListBox1 auf einem Formular Form1:
ListBox füllen
per Objektinspektor
- Wählen Sie die ListBox auf Ihrem Formular mit einem Klick an.
- Gehen Sie im Objektinspektor im Reiter Eigenschaften auf die Eigenschaft Items.
- Klicken Sie auf den Button mit den drei Punkten. Der Zeichenketteneditor öffnet sich.
- Geben Sie Ihre Texte ein und bestätigen Ihre Arbeit mit OK.
per Code bei Buttonklick
- Fügen Sie Ihrem Formular einen TButton hinzu mit dem Namen btnFill und Caption Listbox füllen. Im Eventhandler OnClick des Buttons schreiben Sie folgenden Code:
procedure TForm1.btnFillClick(Sender: TObject);
begin
ListBox1.Items.Clear; //Alle vorhandenen Strings löschen
ListBox1.Items.Add('Erste Zeile');
ListBox1.Items.Add('Zeile mit Zufallszahl '+IntToStr(Random(100)));
ListBox1.Items.Add('Dritte Zeile');
ListBox1.Items.Add('Noch eine Zufallszahl '+IntToStr(Random(100)));
end;
Zuweisung einer StringList
- Fügen Sie Ihrem Formular einen TButton hinzu mit dem Namen btnFill und Caption Listbox füllen. Im Eventhandler OnClick des Buttons schreiben Sie folgenden Code:
procedure TForm1.btnFillClick(Sender: TObject);
var
myStringList: TStringList;
begin
myStringList:=TStringList.Create; //Meine StringList erstellen
myStringList.Add('Das ist die erste Zeile.'); //dieser eine Zeile zufügen
myStringList.Add('Das ist die zweite Zeile.');
myStringList.Add('Das ist die dritte Zeile.');
myStringList.Add('usw.');
ListBox1.Items.Assign(myStringList); //der ListBox1 den Textinhalt meine StringList zuweisen
myStringList.Free; //Meine StringList im Speicher wieder freigeben
end;
String zufügen
Es wird mit
- Erweitern Sie das Beispiel ListBox füllen per Code bei Buttonklick um ein TEdit und einen TButton mit einem Namen btnAdd und Caption String zufügen. Ändern Sie noch von Edit1 die Eigenschaft Text zu "" - leerer String.
- Im Eventhandler OnClick des Buttons schreiben Sie folgenden Code:
procedure TForm1.btnAddClick(Sender: TObject);
begin
ListBox1.Items.Add(Edit1.Text);
Edit1.Text:='';
end;
String löschen
Standardgemäß ist eingestellt, dass Sie nur eine Zeile in Ihrer Listbox selektieren können. Wollen Sie mehere Zeilen in Ihrer ListBox auswählen können, müssten Sie die Eigenschaft MultiSelect auf True stellen.
Lösche String bei ItemIndex
- Erweitern Sie das Beispiel String zufügen um einen TButton mit einem Namen btnDel und Caption String löschen.
- Im Eventhandler OnClick des Buttons schreiben Sie folgenden Code:
procedure TForm1.btnDelClick(Sender: TObject);
begin
if ListBox1.ItemIndex > -1 then //Nur löschen, wenn ein String in der Listbox selektiert ist
ListBox1.Items.Delete(ListBox1.ItemIndex);
end;
Lösche alle selektierten Strings
- Erweitern Sie das Beispiel String zufügen um einen TButton mit einem Namen btnDel und Caption String löschen.
- Im Eventhandler OnClick des Buttons schreiben Sie folgenden Code:
procedure TForm1.btnDelClick(Sender: TObject);
var
i: Integer;
begin
if ListBox1.SelCount > 0 then //Nur löschen, wenn min. ein String in der Listbox selektiert ist
for i:=ListBox1.Items.Count - 1 downto 0 do //Alle Items durchlaufen
if ListBox1.Selected[i] then //Falls ausgewählt...
ListBox1.Items.Delete(i); //...das Item (String) löschen
end;
Gehe zurück zu: LCL Components | — Komponente zuvor: TRadioButton/de | Nächste Komponente: TComboBox/de |
--Michl 22:30, 22 May 2014 (CEST)