Non è quello il problema. Quello che vorrei fare è che le fiches piccole appaiano SOPRA quella grandi.
Capisco, suppongo si debba modificare l'ordine gerarchico delle
fiches.... ma devi considerare anche il caso in cui nello stesso riquadro di un numero vengano poste due
fiches della medesima dimensione.
In questo caso devi poter
spostare la
fiche che sta sopra per vedere quella sottostante; e così può risultare utile il mio precedente suggerimento.
......oppure potresti, più semplicemente, spostarle trascinandole con il mouse nuovamente con un
Drag&Drop.
Entrambi i miei precedenti suggerimenti prevedono un intervento manuale con il mouse sulle
fiches per ottenere il loro spostamento; mentre tu - sembra - preferisci un riordino
automatico delle
fiches ponendo in fondo quelle più grandi. Si potrebbe in questo caso operare sulla falsariga del banale esempio che segue. Poniamo sul form
l'una sull'altra in pila 4
TextLabel aventi diverse dimensioni orizzontali e magari diversi colori:
Public Sub Form_Open()
Dim cl As Control
Dim j As Byte
With FMain
' Verifichiamo la dimensione orizzontale di ciascuna "TextLabel" con le altre:
For Each cl In .Children
For j = 0 To .Children.Count - 1
' Se la dimesione orizzontale della "TextLabel" in questione
' è maggiore dell'altra considerata per la verifica...
If cl.W > .Children[j].W Then
'...viene posta in posizione di livello visivo inferiore:
' ossia nella pila delle 4 "TextLabel" viene posta al di sotto:
cl.Lower
Endif
Next
Next
End With
End
Le
TextLabel saranno riordinate
in pila sulla base della loro dimensione orizzontale: quelle più grandi in fondo alla pila e quelle più piccole gradatamente in cima.
Nel tuo caso specifico, però, bisognerà comunque prevedere un leggero spostamento delle coordinate delle
fiches aventi
medesime dimensioni, poichè - seppur poste al di sopra di quelle più grandi - si
disturberebbero ovviamente fra loro.