Hola, compañeros:
Pues lo del asunto, gente. Veréis, tenía un código que, más o menos, funcionaba. Lo del más o menos es porque no tenía control de errores, pero funcionaba. Y el caso es que, de la noche a la mañana, ha dejado de hacerlo.
Se trata de un
TreeView llamado «
trvProyecto» que tiene unos botones añadidos para mover los
ítems y resulta que que el invento funcionaba hasta hace poco —no puedo determinar cuándo, porque mis proyectos tienden a la eternización—, cuando comenzó a ocurrir que no podía cambiar el «
Current» del
TreeView con
MoveTo(). Simplemente es que
MoveTo() no hace nada de nada —y he probado luego con
MoveChild,
MoveParent,
MoveBefore,
MoveFirst,
et caetera, con el mismo resultado—. No sé si os ha pasado lo mismo y estáis tan desesperados como yo. Pongo ejemplo del código:
Código:
Public Sub pryArriba_Click()
Dim sClave As String
Dim sEste As String
sEste = trvProyecto.Current.Key
trvProyecto.MoveCurrent
If Not trvProyecto.MoveAbove() Then
sClave = trvProyecto.Item.Key
Try trvProyecto.Current.MoveBefore(sClave)
trvProyecto.MoveTo(sEste)
Endif
End
Public Sub pryAbajo_Click()
Dim sClave As String
Dim sEste As String
sEste = trvProyecto.Current.Key
trvProyecto.MoveCurrent
If Not trvProyecto.MoveBelow() Then
sClave = trvProyecto.Item.Key
trvProyecto.Current.MoveAfter(sClave)
trvProyecto.MoveTo(sEste)
trvProyecto.Item.Selected = Si
Endif
End
Public Sub pryPosterior_Click()
Dim sClave As String
Dim sEste As String
sEste = trvProyecto.Current.Key
trvProyecto.MoveCurrent
If Not trvProyecto.MoveAbove() Then
sClave = trvProyecto.Item.Key
trvProyecto.Current.Reparent(sClave)
trvProyecto.MoveTo(sEste)
trvProyecto.Item.Selected = Si
Endif
End
Public Sub pryAnterior_Click()
Dim sClave As String
Dim sEste As String
sEste = trvProyecto.Current.Key
trvProyecto.MoveCurrent
If Not trvProyecto.MoveParent() Then
If Not trvProyecto.MoveParent() Then
sClave = trvProyecto.Item.Key
trvProyecto.Current.Reparent(sClave)
trvProyecto.MoveTo(sEste)
trvProyecto.Item.Selected = Si
Endif
Endif
End
Public Sub prySuperior_Click()
Dim sClave As String
Debug trvProyecto.Current.Text
sClave = trvProyecto.Current.Key
trvProyecto.Current.MoveFirst
trvProyecto.MoveTo(sClave)
Debug trvProyecto.Current.Text
End
Public Sub pryInferior_Click()
Dim sClave As String
Debug trvProyecto.Current.Text
sClave = trvProyecto.Current.Key
trvProyecto.Current.MoveLast
trvProyecto.MoveTo(sClave)
Debug trvProyecto.Current.Text
End
¿Seríais tan amables de orientarme? —seguro que es una chorrada que mi ignorancia ha pasado por alto—. Gracias de antemano.