Differenze tra le versioni di "Interscambiare la posizione del contenuto degli item di una ListBox mediante trascinamento con il mouse"

Da Gambas-it.org - Wikipedia.
(Creata pagina con "Useremo in questo caso le risorse del ''Drag&Drop'' per spostare il testo da una riga a un'altra mediante trascinamento con il mouse. Mostriamo un esempio pratico: Public Su...")
 
Riga 31: Riga 31:
 
   
 
   
 
  <FONT Color=gray>' ''Assegna alla riga del prelievo il testo contenuto nella riga del rilascio:''</font>
 
  <FONT Color=gray>' ''Assegna alla riga del prelievo il testo contenuto nella riga del rilascio:''</font>
  ListBox1[ListBox1.Tag].Text = ListBox1[b].Text
+
  ListBox1[ListBox1.Tag].Text = ListBox1[b].Text
 
   
 
   
 
  <FONT Color=gray>' ''Rilascia nella riga il testo della riga del prelievo:''</font>
 
  <FONT Color=gray>' ''Rilascia nella riga il testo della riga del prelievo:''</font>

Versione delle 18:45, 7 dic 2023

Useremo in questo caso le risorse del Drag&Drop per spostare il testo da una riga a un'altra mediante trascinamento con il mouse.

Mostriamo un esempio pratico:

Public Sub Form_Open()

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

End


Public Sub ListBox1_MouseDrag()

 With ListBox1
   .Tag = .Index
' Preleva e trascina il testo individuando la riga che lo contiene:
   .Drag(ListBox1.Text, "text/html")
 End With

End 


Public Sub ListBox1_Drop()

 Dim b As Byte

' Individua il numero d'indice della riga, ove si deve rilasciare il testo prelevato dall'altra riga:
 b = Fix(Drag.Y / (ListBox1.ScrollH / ListBox1.Count)) [nota 1]

' Assegna alla riga del prelievo il testo contenuto nella riga del rilascio:
 ListBox1[ListBox1.Tag].Text = ListBox1[b].Text

' Rilascia nella riga il testo della riga del prelievo:
 ListBox1[b].Text = Drag.Data

End


Note

[1] Vedere questa pagina: Individuare il numero d'indice della riga di una ListBox sulla quale si è cliccato con il mouse