Listbox -Komponente (TlistBox)
Diese Komponente ist eine Standard -Windows -Listenfeldkomponente, in der eine Reihe von Listen angezeigt wird, in denen Benutzer Elemente auswählen, verbinden, löschen oder ändern können.
1. Typische Verwendung von Tllistbox -Komponenten
Listenfelder werden häufig in Windows -Anwendungen verwendet. Das Listenfeld kann mehrere Elemente in einem rollbaren Fenster auflisten, damit die Benutzer auswählen können. In der IDE von Delphi beispielsweise listet Delphi beispielsweise alle Komponenten in der VCL auf. Das Programm verwendet hauptsächlich das Element -Attribut, um verschiedene Elemente zu steuern, z. B. die Verwendung von Elementen. STRINGS [], um den Inhalt einer bestimmten Option und Elemente zu erhalten. Geben Sie die aktuelle Option über die ElementIndex -Eigenschaft an oder erhalten Sie.
2. Wichtige Eigenschaften von Tlistbox -Komponenten
· Listenfeldnummer der Spalten · ExtendedSelect Diese Eigenschaft wird verwendet, um festzustellen, ob mehrere Elemente gleichzeitig mithilfe der Schaltschlüssel ausgewählt werden können, und die Strg -Taste · Integralheigung Die Höhe des Listenfelds ist immer ein ganzzahliges Multiple der Höhe des Elements in Das Listenfeld · itemHeight Diese Eigenschaft wird verwendet, um die Höhe jedes Elements im Listenfeld festzulegen. · itemIndex Diese Eigenschaft wird verwendet, um die Sequenznummer der ausgewählten Elemente im Listenfeld · Elemente auf alle Elemente im Listenfeld aufzunehmen. Die Elemente -Eigenschaft · Multiselect ermöglicht es zu, dass mehrere Elemente gleichzeitig ausgewählt werden können Das Listenfeld sollte alphabetisch sortiert werden. Diese Eigenschaft wird verwendet, um den Stil des Listenfelds festzulegen. Die folgenden beschreibt die häufig verwendeten Eigenschaften der Tlistbox -Komponente im Programm.
(1) Spalten Attribute
Der Standardwert dieser Eigenschaft beträgt 0, und das Listenfeld wird in einer einzigen Spalte angezeigt. Wenn diese Eigenschaft auf einen Wert von mehr als 0 eingestellt ist, füllt das Listenfeld zunächst eine Spalte aus. Wenn es nicht vollständig in einer Spalte angezeigt werden kann, wird es in Spalte 2, Spalte 3 usw. angezeigt, aber nur die Anzahl der von der Spalteneigenschaft festgelegten Spalten wird auf dem Bildschirm höchstens angezeigt. Wenn diese Eigenschaft auf 2 eingestellt ist, werden auf dem Bildschirm nur zwei Spalten angezeigt.
(2) ExtendedSelect -Eigentum
Diese Eigenschaft wird verwendet, um festzustellen, ob mehrere Elemente gleichzeitig mit dem Schaltschlüssel und der STRG -Taste ausgewählt werden können, vorausgesetzt, die Multiselect -Eigenschaft muss auf TRUE eingestellt werden. Der Benutzer drückt und hält die Umschalttaste.
(3) IntegralHeight -Eigenschaft
Wenn diese Eigenschaft auf true eingestellt ist und die Style -Eigenschaft auf IsownerDrawfixed eingestellt ist, wird die Höhe des Listenfelds automatisch an ein ganzzahliges Vielfachen der Höhe des Elements im Listenfeld eingestellt. Wenn diese Eigenschaft auf False eingestellt ist, kann das letzte Element im Listenfeld nicht vollständig angezeigt werden, da die Höhe des Listenfelds nicht unbedingt genau ein ganzzahliges Mehrfach der ElementHeight -Eigenschaft ist.
(4) ElementHeight Attribut
Wenn die Style-Eigenschaft auf isownerFixed (benutzerdefiniert) eingestellt ist, wird diese Eigenschaft verwendet, um die Höhe jedes Elements im Listenfeld festzulegen. Wenn die IntegralHeight -Eigenschaft auf true eingestellt ist, wird die Höhe des gesamten Listenfelds automatisch mit dem Wert der ElementHeight -Eigenschaft angepasst. Wenn die Style -Immobilie auf ISSpandard oder IsownerDrawVariable eingestellt ist, ist die Eigenschaftseigenschaft bedeutungslos.
(5) ElementIndex -Attribut
Diese Eigenschaft wird verwendet, um die Sequenznummer des ausgewählten Elements im Listenfeld festzulegen. Wenn die Multiselect -Eigenschaft auf true eingestellt ist und der Benutzer mehrere Elemente auswählt, gibt diese Eigenschaft die Sequenznummer des Elements mit dem Eingabefokus zurück. Der Programm -Beispielcode lautet wie folgt:
[Delphi] Ansicht PlaincopyProceduretForm1.Formcreate (Absender: Tobject); Vari: Integer; Beginnlistbox1.Multiselect: = false; button.caption = 'movetotop'; fori: = 1to10DolistBox1.Items.Add ('item'+inttoStr (i)))))) ;
(6) Elementattribute
Alle Elemente im Listenfeld werden über die Eigenschaften der Elemente zugegriffen.
[Delphi] Sehen Sie sich PlaincopyVarf: Datei an. I: Integer; beginfori: = 0to (filelistbox1.items.count-1) doBegintryiffilelistbox1.Selected [i] thenBeginifnotFileExists (Filelistbox1.Items.Strings [i]) TOALBEGEGINMEDLGEDLGEDLGE ('FILELISTBOX1.ITEMS.Strings [i]) thenabeginMessgedlge (' Datei: '+filelistbox1 .Iitems.Strings [i]+'NotFound', Mterror, [Mbok], 0); Fortsetzung; End; ARMISTELFILE (F, FilelistBox1.Items.Strings [i]); Reset (f, l); Listbox1.Items. Add (inttostr (filesie (f)); CloseFile (f);
(7) Multiselect -Eigenschaft
Wenn diese Eigenschaft auf TRUE eingestellt ist, dürfen mehrere Elemente gleichzeitig ausgewählt werden. Benutzer können die STRG- oder Schaltschlüssel halten, Elemente mit der Maus auswählen oder direkt mit der ausgewählten Maus abziehen und fallen.
(8) Sortierte Eigenschaften
Diese Eigenschaft wird verwendet, um festzustellen, ob die Elemente im Listenfeld alphabetisch sortiert werden sollen. Für sortierte Listenfelder wechseln die Elemente, die durch Aufrufen von add () oder insert () hinzugefügt wurden, automatisch an den entsprechenden Ort. Der Programm -Beispielcode lautet wie folgt:
[Delphi] Sehen Sie sich PlainCopyProceduretform1.Formcreate an (Absender: Tobject); Item1 '); listBox1.items.add (' item4 '); Ende;
(9) Stilattribute
Diese Eigenschaft wird verwendet, um den Stil des Listenfelds festzulegen. Es legt die folgenden 3 benutzerausscheidbaren Werte fest. • lbStandard: Jedes Element ist eine Zeichenfolge und jedes Element hat die gleiche Höhe. • LBOWNERDRAWFIXED: Das Element ist nicht unbedingt eine Zeichenfolge, kann aber auch ein Bild sein. Das OneDrawitem -Ereignis wird ausgelöst, bevor jedes Element angezeigt wird. • LBOWNERDRAWVARIBIERLE: Das Element ist nicht unbedingt eine Zeichenfolge, es kann auch ein Bild sein und die Höhe des Elements kann unterschiedlich sein. Zwei Ereignisse werden ausgelöst, bevor jedes Element angezeigt wird.
3. Wichtige Ereignisse von Tlistbox -Komponenten
· ONDAWITEM Wenn die Style -Eigenschaft auf LBOWNERDRAWFIXED oder LBOWNERDRAWVARIBIERS eingestellt ist, und die Elemente in der Liste der Liste müssen neu gestrichen werden. Das Ereignis wird ausgelöst. Das Ereignis wird ausgelöst
4. Wichtige Möglichkeiten zur Tlistbox -Komponenten
Die häufig verwendete Methode der Tlistbox -Komponente in Programmen ist klar, nämlich die Funktion zum Löschen aller Optionen im Listenfeld.
Wie zeigt das Element in Listbox unterschiedliche Farben entsprechend dem Inhalt an
1. Ändern Sie die Style -Eigenschaft von Listbox1 in LBOWNERDRAWVARIABLE2.
Zum Beispiel:
[Delphi] Ansicht PlaincopyProceduretform1.ListBox1Drawitem (Steuerung: Twincontrol; Index: Ganzzahl; RECHT: TRECT; STATE: TownerDrawstate); Eine ungerade Nummer startlistbox1.canvas.brrush.color: = clwindow; listBox1.canvas.textrect (rechteck, rekt.left, rekt.top, listBox1.Items [index]); endElse // Die Farbe beginlistBox1.canvas Wenn der Index von der Index von Die Elemente sind sogar die Zahl .Brush.Color: = klinActiveCaptionText; listBox1.canvas.textrect (rect, rect.Left, rect.top, listBox1.Items [index]); End; ifodSelectedInstathen // Die Farbe, wenn ausgewählt wird, wenn ausgewählt wird, starten Sie. .Color: = clHighlight; listBox1.canvas.textrect (rect, rect.Left, rect.top, listBox1.Items [index]); Ende; Ende;