Riposizionare in modo circolare più oggetti posti in pila

Da Gambas-it.org - Wikipedia.

Il caso è quello in cui, dopo aver posizionato all'interno di un qualsiasi contenitore uno sull'altro diversi oggetti, si procede a riposizionarli in modo circolare. L'oggetto posto in cima agli altri passerà in fondo alla pila degli oggetti.


Nell'esempio, che segue, abbiamo quattro Button di diverso colore, posti uno sull'altro. Cliccando sul Button presente in quel momento in cima alla pila, esso verrà posto in fondo agli altri portando così in cima quello immediatamente sottostante:

Public Sub Form_Open()

 Dim bt As Button
 Dim j As Byte
 
 
  For j = 0 To 3
   With bt = New Button(Me) As "bt"
    .X = 20
    .Y = 20
    .W = 50
    .H = 50
    .Foreground = Color.Yellow
    .Text = Str(j)
    .Background = Color.RGB(200 / (j + 1), 70 * j, 50 * j)
   End With
  Next
   
End


Public Sub bt_MouseDown()
 
' Il metodo ".Lower()" pone l'oggetto al livello più basso
' nella gerarchia degli oggetti appartenenti al medesimo genitore:
   Last.Lower

End