ListBox Einträge

Hilfe & Unterstützung für das ISN AutoIt Studio
Antworten
edv_harry
Beiträge: 1
Registriert: Mo 25. Okt 2021, 16:16
Kontaktdaten:

ListBox Einträge

Beitrag von edv_harry »

Hallo,

ich bin nun auf die IDE umgestiegen da dies doch um einiges einfacher und übersichtlicher ist.
Hier habe ich noch Probleme mit der GUI.

Ich habe mir eine Listbox erstellt und ihr einen Handle verpasst und nun versuche ich die Listbox mit Sinnvollen Einträgen zu füllen.
Hier scheitere ich aber :(

Das Form habe ich mit include abc.isf in meinen Code eingebunden.
Hierzu habe ich mir auch den Code der erzeugt wird angezeigt und für die Listbox schaut dies so aus: $Services_Listing = GUICtrlCreatelist("",40,120,867,466,-1,$WS_EX_CLIENTEDGE)

Egal wie ich nun die Daten dem Handle übergebe werden mir die Daten untereinander angezeigt und sogar durcheinander.

Ich habe mir hierzu eine Schleife erstellt und will die Daten im der Listbox sehen.

$Services_Listing ist das Handle der Listbox und so übergebe ich die Daten.

GUICtrlSetData($Services_Listing, "Hallo | Ich | und" )

In der Listbox sehe ich dann
Ich
Ich
Ich
und
und
und
Hallo
Hallo
Hallo


Mhh, was mach ich hier falsch oder wo kann ich nachlesen wie ich es anstelle so ein LIsting zu bekommen

Hallo ich und


Danke und viele Grüße

EDV Harry
Benutzeravatar
ISI360
Administrator
Beiträge: 324
Registriert: Fr 11. Okt 2013, 13:06
Kontaktdaten:

Re: ListBox Einträge

Beitrag von ISI360 »

Hallo

Bei GUICtrlSetData muss du bei Listbox controls aufpassen, da hier immer nur Daten zum control hinzugefügt werden, ohne den Inhalt des controls vorher zu löschen.
Daher ist es keine gute Idee GUICtrlSetData in einer Schleife zu verwenden. Die würde auch die ganzen doppelten Einträge erklären, da diese immer wieder neu hinzugefügt werden.
Du kannst allerding mit GUICtrlSetData($handle,"") eine Listbox vor dem befüllen komplett leeren.

Ich mach das ganze immer so:

Code: Alles auswählen

GUICtrlSetData($handle,"") ;Listbox leeren
GUICtrlSetData(handle, "Hallo|Ich|und","Ich") ;Einträge hinzufügen, wobei "Ich" als Standard ausgewählt ist (falls gewünscht)
Und wie gesagt, NICHT in einer Schleife einsetzen. Es reicht vollkommen das ganze nach dem .isf Include, oder in einer seperaten Func zu verwenden.
Hoffe das hilft dir
Antworten