EnableExplicit Define EventID 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, Label.s Protected LVITEM.LV_ITEM If Not IsGadget(GadgetID) : ProcedureReturn -1 : EndIf 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,#WM_VSCROLL,#SB_TOP,0) 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 LVITEM\mask = #LVIF_STATE LVITEM\state = #LVIS_SELECTED LVITEM\stateMask = #LVIS_SELECTED SendMessage_(GadgetID(GadgetID), #LVM_SETITEMSTATE, Position, @LVITEM) SetActiveGadget(GadgetID) ProcedureReturn Position EndProcedure If OpenWindow(0,0,0,500,400,"Window",#PB_Window_SystemMenu|#PB_Window_ScreenCentered) ExplorerListGadget(1,0,0,WindowWidth(0),WindowHeight(0),"C:\Windows\*.exe",0) FindListItem(1,@"notepad.exe",0,0,0) Repeat EventID=WaitWindowEvent() If EventID = #PB_Event_CloseWindow End EndIf ForEver EndIf