ordenar listbox - por favor
necesito que el usuario pueda ordenar los datos con el mouse que estan en un list box
por favor,
gracias
por favor,
gracias
Hola.
El componente listbox tiene una propiedad que se llama sorted, la cual ordena los elementos del listbox en orden alfabético.
Cuano crees el evento con el mouse, solo tienes que cambiar la propiedad.
El componente listbox tiene una propiedad que se llama sorted, la cual ordena los elementos del listbox en orden alfabético.
Cuano crees el evento con el mouse, solo tienes que cambiar la propiedad.
hola puni, acabo de leer del otro post que no te funcionaba lo que te dije, y debo decir que me sorprende un poco porque a mí sí me funciona.
Hagamos una cosa, abre un proyecto nuevo y añade sólo un ListBox, con su nombre por defecto, List1, entras a la edición del código, borras todo el código que haya, y pegas todo el código que te pongo más abajo.
Si no te funciona miraremos a ver que puede ser, porque si no hace lo que quieres és que no entendimos bién lo que querías.
Pruébalo a ver si hay suerte, ya dirás algo:
Option Explicit
Dim Seleccionado As Integer
Private Sub Form_Load()
Dim Cont As Integer
For Cont = 1 To 15
List1.AddItem "Elemento " & Cont
Next
End Sub
Private Sub List1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Seleccionado = List1.ListIndex
End Sub
Private Sub List1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim Elemento As String
If Seleccionado = List1.ListIndex Then Exit Sub
If Button = vbLeftButton Then
Elemento = List1.List(Seleccionado)
List1.List(Seleccionado) = List1.List(List1.ListIndex)
List1.List(List1.ListIndex) = Elemento
Seleccionado = List1.ListIndex
End If
End Sub
Hagamos una cosa, abre un proyecto nuevo y añade sólo un ListBox, con su nombre por defecto, List1, entras a la edición del código, borras todo el código que haya, y pegas todo el código que te pongo más abajo.
Si no te funciona miraremos a ver que puede ser, porque si no hace lo que quieres és que no entendimos bién lo que querías.
Pruébalo a ver si hay suerte, ya dirás algo:
Option Explicit
Dim Seleccionado As Integer
Private Sub Form_Load()
Dim Cont As Integer
For Cont = 1 To 15
List1.AddItem "Elemento " & Cont
Next
End Sub
Private Sub List1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Seleccionado = List1.ListIndex
End Sub
Private Sub List1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim Elemento As String
If Seleccionado = List1.ListIndex Then Exit Sub
If Button = vbLeftButton Then
Elemento = List1.List(Seleccionado)
List1.List(Seleccionado) = List1.List(List1.ListIndex)
List1.List(List1.ListIndex) = Elemento
Seleccionado = List1.ListIndex
End If
End Sub
