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.
Seleccionar El Iten Siguiente O Anterior De Un TreeView
Subject: Re: Seleccionar El Iten Siguiente O Anterior De Un TreeView
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
tincho escribió:
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
Subject: Re: Seleccionar El Iten Siguiente O Anterior De Un TreeView
No es eso, gracias de todas maneras.
Saludos.
jguardon escribió:
No es eso, gracias de todas maneras.
Saludos.
Subject: Re: Seleccionar El Iten Siguiente O Anterior De Un TreeView
Entonces no entendí tu pregunta...
Subject: 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.
Saluds.
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
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.
Subject: 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
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
Subject: Re: Seleccionar El Iten Siguiente O Anterior De Un TreeView
te has pasado al lado hiper oscuro!
jguardon escribió:
te has pasado al lado hiper oscuro!
Subject: 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
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
Subject: Re: Seleccionar El Iten Siguiente O Anterior De Un TreeView
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.
Gracias.
Saludos.
cogier escribió:
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.
Page 1 of 2
You cannot post new topicsYou cannot reply to topics
You cannot edit your posts
You cannot delete your posts
You cannot vote in polls
You cannot attach files
You can download files
You cannot post calendar events
This is a "Lo-Fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo
Generation Time: 0.109s (PHP: -33% SQL: 133%)
SQL queries: 23 - Debug Off - GZIP Enabled