in der schleife wird nicht nur verschoben sondern neu erstellt und dann verschoben.
Wo ist das Problem wenn es bei der MDIerstellung etwas flackert.
Das macht man ja sowieso nicht andauernd.
außerdem kann man das Fenster während der Erstellung ja verstecken
Flackert da was im etwas übertriebenen Beispiel ?
Also erst unsichtbare MDIs nach Bedarf erstellen und bei Bedarf dann holen
Code: Alles auswählen
#Main = 0
#MDIChild = 1
NewList c.l()
If OpenWindow(#Main, 0, 0, 400, 300, "MDIGadget", #PB_Window_SystemMenu|#PB_Window_ScreenCentered|#PB_Window_Invisible)
CreateToolBar(3, WindowID(#Main))
ToolBarStandardButton(4, #PB_ToolBarIcon_New)
MDIGadget(0, 0, 0, 0, 300, 1, 2, #PB_MDI_AutoSize|#PB_MDI_NoScrollBars) ;Scrollbars weglassen
For l=1 To 100 ;wenn sich das Programm
AddElement (c()) ;um die Positionierung kümmert
c()=AddGadgetItem(0, #PB_Any, "child window"+Str(l),0,#PB_Window_Invisible) ;es wird dann ruhiger im MDIBereich
ResizeWindow(c(), 1+l*2, 1+l*2, 325, 180)
Next l
HideWindow(#main,0)
;MdiFenster sind erstellt
;Knopfdrücken verückt die und de-invisibilisiert die auch noch :)
EndIf
Repeat ;die folgende EventSchleife suckz
If EventGadget() = 4
ForEach c()
ResizeWindow(c(), Random(50), Random(50), Random(50)+200, Random(50)+130)
HideWindow(c(),0)
Next
EndIf
Until WaitWindowEvent()=#PB_Event_CloseWindow
(wenn Du die Eventschleife immer so baust dann bekommst Du Probleme)