Hi Randy
Using native commands
Code: Select all
Procedure SelectItem(gadget,item)
SetGadgetState(gadget,item)
SetGadgetItemState(gadget,item,1)
SetActiveGadget(gadget)
EndProcedure
If OpenWindow(0, 0, 0, 300, 300, "ListIcon Example", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ListIconGadget(0, 10,10, 280, 200, "Name", 200, #PB_ListIcon_FullRowSelect|#PB_ListIcon_AlwaysShowSelection)
For i = 0 To 1000
AddGadgetItem(0, -1, Str(i))
Next
SelectItem(0,150)
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
Quit = 1
Case #PB_Event_Gadget
Select EventGadget()
Case 0
EndSelect
EndSelect
Until Quit = 1
EndIf
For Windows
Code: Select all
Procedure SelectRow(gadget,index)
Row_H = SendMessage_(GadgetID(gadget), #LVM_GETITEMSPACING, 1, 0) >> 16
SendMessage_(GadgetID(0), #LVM_SCROLL, 0,-CountGadgetItems(gadget)*Row_H)
SetGadgetItemState(gadget,index,#PB_ListIcon_Selected)
SetFocus_(GadgetID(gadget))
SendMessage_(GadgetID(0), #LVM_SCROLL, 0,index*Row_H)
EndProcedure
LoadFont(0,"Arial",12)
If OpenWindow(0, 0, 0, 640, 350, "ListIconGadgets", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ListIconGadget(0, 10, 10, 620, 280, "Column 0", 400,#PB_ListIcon_GridLines|#PB_ListIcon_FullRowSelect|#PB_ListIcon_AlwaysShowSelection)
SetGadgetFont(0,FontID(0))
AddGadgetColumn(0, 1, "Column 1" , 200)
For x = 0 To 100
AddGadgetItem(0, x, "Item "+Str(x)+Chr(10)+"Item "+Str(x))
Next
EndIf
SelectRow(0,80)
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
Quit = 1
Case #PB_Event_Gadget
Select EventGadget()
Case 0
EndSelect
EndSelect
Until Quit = 1