Seleccionar El Iten Siguiente O Anterior De Un TreeView

Seleccionar El Iten Siguiente O Anterior De Un TreeView
Artículo
Citar    Descargar mensaje  
Mensaje Seleccionar El Iten Siguiente O Anterior De Un TreeView 
 
Hola a todos.

Alguien podría decirme como hacer para, si esta seleccionado un ítem en un TreeView, pasar al inmediatamente anterior o al inmediatamente posterior.
Gracias.
Saludos.



 
tincho - Perfil MP  
tincho [ Viernes, 17 Abril 2020, 00:39 ]


Seleccionar El Iten Siguiente O Anterior De Un TreeView
Comentarios
Citar    Descargar mensaje  
Mensaje Re: Seleccionar El Iten Siguiente O Anterior De Un TreeView 
 
tincho escribió:  
Hola a todos.

Alguien podría decirme como hacer para, si esta seleccionado un ítem en un TreeView, pasar al inmediatamente anterior o al inmediatamente posterior.
Gracias.
Saludos.



MoveAbove() para mover justo al anterior y

MoveBelow() para mover al siguiente ítem.

Tal como se describe en el wiki de ayuda de gambas:

http://gambaswiki.org/wiki/comp/gb.qt4/treeview

Pero no lo he probado nunca, no he usado ese control por el momento.

Saludos



 
jguardon - Perfil MP  
jguardon [ Viernes, 17 Abril 2020, 19:55 ]
Citar    Descargar mensaje  
Mensaje Re: Seleccionar El Iten Siguiente O Anterior De Un TreeView 
 
jguardon escribió:  
tincho escribió:  
Hola a todos.

Alguien podría decirme como hacer para, si esta seleccionado un ítem en un TreeView, pasar al inmediatamente anterior o al inmediatamente posterior.
Gracias.
Saludos.

MoveAbove() para mover justo al anterior y
MoveBelow() para mover al siguiente ítem.
Tal como se describe en el wiki de ayuda de gambas:
http://gambaswiki.org/wiki/comp/gb.qt4/treeview
Pero no lo he probado nunca, no he usado ese control por el momento.
Saludos

No es eso, gracias de todas maneras.
Saludos.



 
tincho - Perfil MP  
tincho [ Viernes, 17 Abril 2020, 20:57 ]
Citar    Descargar mensaje  
Mensaje Re: Seleccionar El Iten Siguiente O Anterior De Un TreeView 
 
Entonces no entendí tu pregunta...



 
jguardon - Perfil MP  
jguardon [ Viernes, 17 Abril 2020, 23:21 ]
Citar    Descargar mensaje  
Mensaje Re: Seleccionar El Iten Siguiente O Anterior De Un TreeView 
 
La idea es la siguiente, intento imitar el comportamiento de un visor de pdf donde mediante dos botones puede seleccionar la pagina anterior o posterior.
Dejo este código de ejemplo para mas claridad.
' gambas class file

Public Sub Form_Open()

  LoadTree()

End

Private Sub LoadTree()

  Dim d As String

  TreeView1.Clear

  TreeView1.Add("rx", "Raíz", Picture["icon:/16/user"])

  For Each d In Dir(User.Home, "", gb.Directory)
    If String.Mid(d, 1, 1) <> "." Then
      TreeView1.Add(d, d, Picture["icon:/16/directory"], "rx")
    Endif
  Next

  TreeView1["rx"].Expanded = True

End

Public Sub Button1_Click()

  ' ¿Que pongo aquí para que el item selecionado sea el anterior?

End

Public Sub Button2_Click()

  ' ¿Que pongo aquí para que el item selecionado sea el posterior?

End
 

Saluds.



 
tincho - Perfil MP  
tincho [ Sabado, 18 Abril 2020, 00:07 ]
Citar    Descargar mensaje  
Mensaje Re: Seleccionar El Iten Siguiente O Anterior De Un TreeView 
 
Yo creo que con los métodos que he puesto arriba (que mueven el cursor interno del control) y la propiedad Item (que devuelve el ítem al que apunta el cursor interno) sería posible.

Lo que pasa es que el ítem seleccionado puede no coincidir con el cursor interno que puedes desplazar antes de de efectuar la selección o devolver la referencia al ".Current" item.

Otro detalle a tener en cuenta es que con esos métodos te mueves por los hijos (siblings) de un padre, entonces si estás en el padre o raíz, no va a funcionar a menos que primero selecciones la rama apropiada. El treeview es un poco engorroso de manejar y entender, la verdad. Pero creo que es la única forma de poder controlar las acciones que tienen lugar dentro de él, dado que pueden contener múltiples ramas y sub-ramas.

Ahora mismo estoy en un Mac, voy a ver si puedo instalar un Linux en Virtualbox y lo compruebo.

Saludos



 
jguardon - Perfil MP  
jguardon [ Sabado, 18 Abril 2020, 09:58 ]
Citar    Descargar mensaje  
Mensaje Re: Seleccionar El Iten Siguiente O Anterior De Un TreeView 
 
jguardon escribió:  
Ahora mismo estoy en un Mac


    te has pasado al lado hiper oscuro!



 
tercoIDE - Perfil MP  
tercoIDE [ Sabado, 18 Abril 2020, 14:42 ]
Citar    Descargar mensaje  
Mensaje Re: Seleccionar El Iten Siguiente O Anterior De Un TreeView 
 
Intenta con el código de abajo: -


Public Sub Button1_Click()

  TreeView1.MoveCurrent()
  
  If TreeView1.MoveAbove() Then
    TreeView1.Selection = [TreeView1.Keys[TreeView1.Keys.Max]]
  Else
    TreeView1.Item.Selected = True
  End If

End

Public Sub Button2_Click()

  TreeView1.MoveCurrent()
  
  If TreeView1.Movebelow() Then
    TreeView1.Selection = [TreeView1.Keys[0]]
  Else
    TreeView1.Item.Selected = True
  End If

End




 
cogier - Perfil MP  
cogier [ Sabado, 18 Abril 2020, 15:03 ]
Citar    Descargar mensaje  
Mensaje Re: Seleccionar El Iten Siguiente O Anterior De Un TreeView 
 
tercoIDE escribió:  
jguardon escribió:  
Ahora mismo estoy en un Mac


    te has pasado al lado hiper oscuro!


        



 
vuott - Perfil MP  
vuott [ Sabado, 18 Abril 2020, 17:15 ]
Citar    Descargar mensaje  
Mensaje Re: Seleccionar El Iten Siguiente O Anterior De Un TreeView 
 
cogier escribió:  
Intenta con el código de abajo...

Perfecto, funciono !!
Nota: Solo hay que tener la precaución de que exista al menos un ítem seleccionado en el Treeview de lo contrario no funciona. Así que agregue una linea en el método de carga del treeview que selecciona un ítem.
TreeView1["NombreDeUnItem"].Selected = True
 

Gracias.
Saludos.



 
tincho - Perfil MP  
tincho [ Lunes, 20 Abril 2020, 12:56 ]
Mostrar mensajes anteriores:    
Publicar nuevo tema  Responder al tema  Página 1 de 2
Ir a la página 1, 2  Siguiente
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 


   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.1269s (PHP: -28% SQL: 128%)
Consultas SQL: 23 - Debug off - GZIP Activado