Riordinare manualmente con il mouse gli elementi di una ListBox

Da Gambas-it.org - Wikipedia.
Versione del 7 dic 2023 alle 22:22 di Vuott (Discussione | contributi) (Creata pagina con "In questo caso non si intende spostare e interscambiare un elemento della ''ListBox'' con un altro, bensì spostare un elemento con il mouse riordinando a piacere gli elementi...")

(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)

In questo caso non si intende spostare e interscambiare un elemento della ListBox con un altro, bensì spostare un elemento con il mouse riordinando a piacere gli elementi.

Mostriamo un esempio pratico usando la modalità del Drag&Drop:

Public Sub Form_Open()

 With ListBox1
   .Drop = True
   .List = ["aaaa", "bbbb", "cccc", "dddd", "eeee"]
 End With

End

 
Public Sub ListBox1_MouseDrag()

 ListBox1.Drag(ListBox1.Text, "text/html")

End 


Public Sub ListBox1_Drop()

 Dim n, c As Byte
 Dim ss As String[]

 n = Fix(Drag.Y / (ListBox1.ScrollH / ListBox1.Count))
 ss = ListBox1.List

 ss.Add(Drag.Data, n)
 c = ListBox1.Index

 If ListBox1.Index > n Then c = ListBox1.Index + 1 
 ss.Remove(c, 1)
 ListBox1.List = ss

End