Here are 2 ways to move a ridiculous amount of GUI controls at once. This could easily be extended to resize at the same time.
;stop window from redrawing, set control positions, allow and redraw the window
Func _CtrlsSetPos($hGUI, ByRef $aCtrls, $offsetX = 0, $offsetY = 0)
Local $aCurrentPos
_SendMessage($hGUI, $WM_SETREDRAW, False)
For $i = 0 To UBound($aCtrls) - 1
$aCurrentPos = ControlGetPos(GUICtrlGetHandle($aCtrls[$i]), "", 0)
GUICtrlSetPos($aCtrls[$i], $aCurrentPos[0] + $offsetX, $aCurrentPos[1] + $offsetY)
Next
_SendMessage($hGUI, $WM_SETREDRAW, True)
_WinAPI_RedrawWindow($hGUI)
EndFunc ;==>_CtrlsSetPos
;move many GUI controls at the same time using Windows' DeferWindowPos structure
Func _DeferWindowPos(ByRef $aCtrls, $offsetX = 0, $offsetY = 0)
Local $aCurrentPos
Local $hDeferWindowPos = _WinAPI_BeginDeferWindowPos(UBound($aCtrls))
For $i = 0 To UBound($aCtrls) - 1
$aCurrentPos = ControlGetPos(GUICtrlGetHandle($aCtrls[$i]), "", 0)
_WinAPI_DeferWindowPos($hDeferWindowPos, GUICtrlGetHandle($aCtrls[$i]), Null, $aCurrentPos[0] + $offsetX, $aCurrentPos[1] + $offsetY, 0, 0, $SWP_NOZORDER + $SWP_NOSIZE)
Next
_WinAPI_EndDeferWindowPos($hDeferWindowPos)
EndFunc ;==>_DeferWindowPos