Ich mach das doch nur für die Leutz die (ich weiß, wer sucht schon

) mal nach sowas suchen und dann ein unkorrekten Code finden.
P.s. War doch kein Fehler, hatte istart mit i verwechselt
Hier der funktionierende Code auch wenn List nicht 0 ist
Code: Alles auswählen
ListID = 0
OpenWindow(0,0,0,400,300,"untitled",#WS_OVERLAPPEDWINDOW | 1)
CreateGadgetList(WindowID(0))
ListIconGadget(ListID,5,5,390,290,"Index",50,#PB_ListIcon_FullRowSelect)
AddGadgetColumn(ListID,1,"Name",200)
AddGadgetColumn(ListID,2,"CRC32",100)
For i=1 To 100
Label$ = "List-View Control Item #" + Str(i)
AddGadgetItem(ListID,-1,Str(i) + Chr(10) + Label$ + Chr(10) + "$" + Hex(CRC32Fingerprint(@Label$,Len(Label$))))
Next
Procedure FindListItem(GadgetID.w,Expression.l,fMode.b=0,Column.b=0,iStart.l=0)
Protected hwndListbox.l, Position.l, ItemCount.l, Length.l, i.l
hwndListbox = GadgetID(GadgetID) : Position = -1
If fMode
Position = Expression
Else
ItemCount = CountGadgetItems(GadgetID) - 1
Length = lstrlen_(Expression)
For i=iStart To ItemCount
Label$ = GetGadgetItemText(GadgetID,i,Column)
If CompareMemoryString(Expression,@Label$,0,Length) = 0
Position = i : Break
EndIf
Next
EndIf
SendMessage_(hwndListbox,#LVM_ENSUREVISIBLE,Position,1)
If Position > SendMessage_(hwndListbox,#LVM_GETCOUNTPERPAGE,0,0)-1
SendMessage_(hwndListbox,#WM_VSCROLL,#SB_PAGEDOWN,0)
SendMessage_(hwndListbox,#WM_VSCROLL,#SB_LINEUP,0)
EndIf
SetGadgetItemState(GadgetID,Position,#PB_ListIcon_Selected)
SetActiveGadget(GadgetID)
ProcedureReturn Position
EndProcedure
Debug FindListItem(ListID,@"List-View Control Item #73",0,1)
While WaitWindowEvent() ! 16 : Wend