Code: Select all
#ItemCount = 10
Global Dim myItems.s(0)
#LVSICF_NOINVALIDATEALL = 1
#LVN_ODCACHEHINT = #LVN_FIRST - 13
Procedure WinCallback(hwnd, msg, wParam, lParam)
result = #PB_ProcessPureBasicEvents
Protected field.s
Select msg
Case #WM_NOTIFY
*pnmh.NMHDR = lParam
Select *pnmh\code
Case #LVN_ODCACHEHINT
result = 0
Case #LVN_GETDISPINFO ;
*pnmlvdi.NMLVDISPINFO = lParam
If *pnmlvdi\item\mask & #LVIF_TEXT
line.s = myItems(*pnmlvdi\item\iItem)
If line
field = StringField(line, *pnmlvdi\item\iSubItem+1, #LF$)
EndIf
*pnmlvdi\item\pszText = @field
;
EndIf
EndSelect
EndSelect
ProcedureReturn result
EndProcedure
If OpenWindow(0, 100, 100, 800, 600, "ListIcon Example", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
SetWindowCallback(@WinCallback())
ListIconGadget(0, 5, 5, 780, 390, "A", 250,#PB_ListIcon_FullRowSelect | #PB_ListIcon_AlwaysShowSelection|#PB_ListIcon_MultiSelect|#LVS_OWNERDATA)
SendMessage_(GadgetID(0), #LVM_SETITEMCOUNT, 0, #LVSICF_NOINVALIDATEALL)
AddGadgetColumn(0, 1, "B", 135)
AddGadgetColumn(0, 2, "C", 135)
SendMessage_(GadgetID(0), #LVM_SETITEMCOUNT, #ItemCount+1, #LVSICF_NOINVALIDATEALL)
iframe.s = "https://www.google.com/maps"
For pos = 0 To #ItemCount
ReDim myItems(pos)
myItems(pos) = "ab" + #LF$ + iframe + #LF$ + iframe
Next
Repeat
Event = WaitWindowEvent()
Until Event = #PB_Event_CloseWindow
EndIf
Thank you in advance!