Hey Leute.
Ich habe mich gerade mit Listview gespielt, und bin da auf ein Blödes Problem gestossen:
Wenn ich jetzt zum Beispiel 21 Einträge habe, die alle "Ebene ZAHL" heißen, sieht es so aus:
Spoiler anzeigen
Ebene 1
Ebene 10
Ebene 11
Ebene 12
Ebene 13
Ebene 14
Ebene 15
Ebene 16
Ebene 17
Ebene 18
Ebene 19
Ebene 2
Ebene 20
Ebene 21
Ebene 3
Ebene 4
Ebene 5
Ebene 6
Ebene 7
Ebene 8
Ebene 9
Der String, den ich mit GUICtrlSetData($List1,$list) übergebe, schaut so aus: Ebene 1|Ebene 2| .... also geordnet.
Wie löse ich das Problem am besten?
Ach ja, für die, die es nicht verstehen:
Spoiler anzeigen
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
Opt("GUIOnEventMode", 1)
[/autoit] [autoit][/autoit] [autoit]#Region ### START Koda GUI section ### Form=
[/autoit] [autoit][/autoit] [autoit]$list = "Ebene 1"
$ebenen = 1
$Form1 = GUICreate("Form1", 633, 360, 192, 124)
GUISetOnEvent($GUI_EVENT_CLOSE, "_exit")
$List1 = GUICtrlCreateList("", 8, 16, 97, 292,BitOR($LBS_SORT,$LBS_DISABLENOSCROLL,$WS_BORDER))
GUICtrlSetData(-1, $list)
$Radio1 = GUICtrlCreateRadio("", 32, 312, 17, 17)
GUICtrlSetOnEvent(-1,"_add")
$Radio2 = GUICtrlCreateRadio("", 56, 312, 17, 17)
GUICtrlSetOnEvent($Radio2,"_del")
$Pic1 = GUICtrlCreatePic("", 112, 16, 500, 300, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
Sleep(100)
WEnd
Func _exit()
Exit
EndFunc
Func _add()
GUICtrlSetData($List1, "")
$ebenen += 1
$list = "Ebene " & $ebenen & "|" & $list
GUICtrlSetData($List1, $list)
EndFunc
Func _del()
GUICtrlSetData($List1, "")
if($ebenen < 10) Then
$list = StringTrimLeft($list,8)
Else
$list = StringTrimLeft($list,9)
EndIf
$ebenen -= 1
GUICtrlSetData($List1, $list)
EndFunc
Klickt auf den ersten Radiobutton, fügt er eine Ebene hinzu. Beim zweiten löscht er wieder eine.