Code: Select all
Procedure Rebuild()
hWnd = GetParent_(GadgetID(#start_combo))
SendMessage_(hWnd,#WM_SETREDRAW,#False,0) ; <======================
For line = 0 To #maxline
SendMessage_(GadgetID(#start_combo + line),#WM_SETREDRAW,#False,0)
For item = 0 To #max_item
SetGadgetItemText(#start_combo + line, item, "Blablablup " + Str(item))
Next
SendMessage_(GadgetID(#start_combo + line),#WM_SETREDRAW,#True,0) ; <##########################
SetGadgetState(#start_combo + line, Random(#max_item))
Next
SendMessage_(hWnd,#WM_SETREDRAW,#True,0) ; <======================
RedrawWindow_(hWnd,#Null,#Null,#RDW_INVALIDATE) ; <======================
EndProcedure
If OpenWindow(0, 0, 0, 405, 470, "ScrollAreaGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ScrollAreaGadget(0, 10, 10, 390,420, 575, 555, 30)
For line = 0 To #maxline
ComboBoxGadget(#start_combo + line, 10, 10 + line * 25, 230, 22)
For item = 0 To #max_item
AddGadgetItem(#start_combo + line, item, "Blablablup " + Str(item))
Next
StringGadget(#start_string + line, 250, 10 + line * 25, 80, 22, "")
Next
CloseGadgetList()
ButtonGadget(1, 10, 430, 390,30, "Refresh")
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
End
Case #PB_Event_Gadget
Select EventGadget()
Case 1: Rebuild()
EndSelect
EndSelect
ForEver
EndIf