Re: Simpler 32/64-Bit-Dis-Assembler in PB
Verfasst: 31.12.2010 15:30
Falls dir AddgadgetItem zu langsam ist, speichere alles in einem Array und lass es das Gadget selber auslesen.
Code: Alles auswählen
STRUCTURE Item
ID.s
Rnd.s
ENDSTRUCTURE
#item_count = 3000000
GLOBAL DIM daten.Item(#item_count - 1)
FOR i = 0 TO #item_count - 1
daten(i)\ID = Str(i + 1)
daten(i)\Rnd = Str(Random(6666))
NEXT
PROCEDURE Callback(hwnd, msg, wparam, lparam)
PROTECTED *hdr.NMHDR
PROTECTED *di.NMLVDISPINFO
IF msg = #WM_NOTIFY
*hdr = lparam
IF *hdr\code = #LVN_GETDISPINFO
*di = lparam
IF *di\item\iSubItem = 0
str.i = @daten(*di\item\iItem)\ID
ELSE
str.i= @daten(*di\item\iItem)\Rnd
ENDIF
*di\item\pszText = str
PROCEDURERETURN #True
ENDIF
ENDIF
PROCEDURERETURN #PB_ProcessPureBasicEvents
ENDPROCEDURE
IF OpenWindow(0, 0, 0, 270, 140, "ListViewGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
SetWindowCallback(@Callback(), 0)
ListIconGadget(0, 10, 10, 250, 120, "ID", 100, #LVS_OWNERDATA | #PB_ListIcon_FullRowSelect)
AddGadgetColumn(0,1, "rnd", 60)
SendMessage_(GadgetID(0), #LVM_SETITEMCOUNT, #item_count, 0)
REPEAT :
UNTIL WaitWindowEvent() = #PB_Event_CloseWindow
ENDIF