FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Tree (SOLUCIONADO)
Posts: 883
Joined: Thu Dec 24, 2009 12:46 AM
Tree (SOLUCIONADO)
Posted: Sun Feb 20, 2011 01:23 AM
Como puedo saber que numero de Item de un Tree se encuentra seleccionado?

Por medio de este codigo:
Code (fw): Select all Collapse
   oTree:bChanged := {|oTree,oItem| ; 
      oItem := oTree:GetSelected(), ; 
      If( oItem # nil .and. ValType( oItem:cargo ) == "B", Eval( oItem:cargo ), nil ) }

ejecuto una accion cuando el Item es seleccionado, pero yo quisiera que se evaluara solo si se ejecutó un click o un Enter.
Lo del numero de Item lo necesito, debido a que cuando el focus regresa al Tree, no se puede ejecutar nuevamente la accion que se encuentra en el cargo sin mover el seleccionador a otro Item, por lo necesito moverlo un Item atras o adelante y devolverlo a su posicion original; ahora solo puedo moverlo al primer Item usando oTree:GoTop()

=====>

Bayron Landaverry
xBasePHP.com
(215)2226600 Philadelphia,PA, USA
MayaBuilders@gMail.com
Guatemala

FWH25.06--Harbour 3.0.0--BCC7.7--UEstudio 10.10
Windows 10

FiveWin, One line of code and it's done...

Posts: 2365
Joined: Wed Nov 02, 2005 11:46 PM
Re: Tree
Posted: Sun Feb 20, 2011 02:14 AM
Saludos

prueba este ejemplo

http://forums.fivetechsupport.com/viewtopic.php?p=108203#p108203

esos cambios estan añadidos a la version actual de fivewin.. verifica si eso te sirve
Posts: 883
Joined: Thu Dec 24, 2009 12:46 AM
Re: Tree
Posted: Sun Feb 20, 2011 02:55 AM

Gracias Daniel,
El archivo EXE funciona, pero las modificaciones a la clase no.... el camino esta marcado, voy a revisar a ver donde esta el problema.....

=====>

Bayron Landaverry
xBasePHP.com
(215)2226600 Philadelphia,PA, USA
MayaBuilders@gMail.com
Guatemala

FWH25.06--Harbour 3.0.0--BCC7.7--UEstudio 10.10
Windows 10

FiveWin, One line of code and it's done...

Posts: 883
Joined: Thu Dec 24, 2009 12:46 AM
Re: Tree
Posted: Sun Feb 20, 2011 03:00 AM

Daniel, al parecer oParent nunca recive ningun valor...

Cual deberia ser su valor?????

=====>

Bayron Landaverry
xBasePHP.com
(215)2226600 Philadelphia,PA, USA
MayaBuilders@gMail.com
Guatemala

FWH25.06--Harbour 3.0.0--BCC7.7--UEstudio 10.10
Windows 10

FiveWin, One line of code and it's done...

Posts: 2365
Joined: Wed Nov 02, 2005 11:46 PM
Re: Tree
Posted: Sun Feb 20, 2011 03:06 AM

Bayron

Que error obtienes?

esos fueron los cambios que se le hizo a la clase...

Posts: 883
Joined: Thu Dec 24, 2009 12:46 AM
Re: Tree
Posted: Sun Feb 20, 2011 03:09 AM

Daniel, Ningun error, pero siempre retorna 0 no importando la posicion del Item...
Haciendo pruebas, ::oParent siempre es NIL

=====>

Bayron Landaverry
xBasePHP.com
(215)2226600 Philadelphia,PA, USA
MayaBuilders@gMail.com
Guatemala

FWH25.06--Harbour 3.0.0--BCC7.7--UEstudio 10.10
Windows 10

FiveWin, One line of code and it's done...

Posts: 2365
Joined: Wed Nov 02, 2005 11:46 PM
Re: Tree
Posted: Sun Feb 20, 2011 03:21 AM

Bayron

probando con el mismo ejemplo expuesto en el post?

Posts: 883
Joined: Thu Dec 24, 2009 12:46 AM
Re: Tree
Posted: Sun Feb 20, 2011 03:24 AM

Si asi es....

=====>

Bayron Landaverry
xBasePHP.com
(215)2226600 Philadelphia,PA, USA
MayaBuilders@gMail.com
Guatemala

FWH25.06--Harbour 3.0.0--BCC7.7--UEstudio 10.10
Windows 10

FiveWin, One line of code and it's done...

Posts: 2365
Joined: Wed Nov 02, 2005 11:46 PM
Re: Tree
Posted: Sun Feb 20, 2011 03:29 AM

Bayron...

posiblemente algo mal hiciste en la modificacion de la clase, o no estas enlazando correctamente el archivo con las modificaciones... no se que mas decirte si no puedo reproducir el error para ayudarte

Posts: 883
Joined: Thu Dec 24, 2009 12:46 AM
Re: Tree
Posted: Sun Feb 20, 2011 03:38 AM
Seguramente asi es, pero no deveria el METHOD ADD de TTreeView enviar algun parametro a TTVitem????

Code (fw): Select all Collapse
   oItem := TTVItem():New( TVInsertItem( ::hWnd, cPrompt,, nImage, nValue ), Self )


No se mucho de clases, pero no veo donde oParent reciba algun valor.....

=====>

Bayron Landaverry
xBasePHP.com
(215)2226600 Philadelphia,PA, USA
MayaBuilders@gMail.com
Guatemala

FWH25.06--Harbour 3.0.0--BCC7.7--UEstudio 10.10
Windows 10

FiveWin, One line of code and it's done...

Posts: 2365
Joined: Wed Nov 02, 2005 11:46 PM
Re: Tree
Posted: Sun Feb 20, 2011 04:00 AM

Bayron

Mira el punto 3 del los cambios

viewtopic.php?p=108203#p108203

Posts: 883
Joined: Thu Dec 24, 2009 12:46 AM
Re: Tree
Posted: Sun Feb 20, 2011 04:58 AM
Gracias Daniel por tu ayuda, pero no funcionó.

::oParent recibe el valor de oParent, el cual es NIL ya que no se le ha otorgado ningun valor todavia...(Creo Yo)

De cualquier manera, ya encontré la forma de hacer lo que quería, y era devolviendo el Foco al Tree con oTree:SetFocus().

Ahora, ya puedo posicionarme en el Tree ya sea con el Mouse o el Teclado, y el :Cargo solo se evalua al presionar ENTER o DOBLE CLICK del mouse:
Code (fw): Select all Collapse
oTree:bKeyDown = { | nKey, nFlags | KeyDown(nKey, nFlags, oTree, .F. ) }
oTree:blDblClick := { | nKey, nFlags | KeyDown(nKey, nFlags, oTree, .T. ) }

Code (fw): Select all Collapse
function KeyDown(nKey, nFlags, oTree, dClick)

    local oItem := oTree:GetSelected()

    IF nKey = VK_RETURN .OR. dClick
       If( oItem # nil .and. ValType( oItem:cargo ) == "B", Eval( oItem:cargo ), nil ) 
       oTree:SetFocus()
       
    ENDIF
    
RETURN

=====>

Bayron Landaverry
xBasePHP.com
(215)2226600 Philadelphia,PA, USA
MayaBuilders@gMail.com
Guatemala

FWH25.06--Harbour 3.0.0--BCC7.7--UEstudio 10.10
Windows 10

FiveWin, One line of code and it's done...

Continue the discussion