FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Obteniendo el "check" de un item de un treeview
Posts: 728
Joined: Fri Oct 07, 2005 07:38 AM
Obteniendo el "check" de un item de un treeview
Posted: Fri May 11, 2018 09:27 AM
Hola amigos, en mi versi贸n de FW (fwh 12.04) este ejemplo siempre devuelve .T. est茅 el check del item en cuesti贸n marcado o no. 驴Est谩 solucionado en versiones m谩s recientes?

Gracias,

Code (fw): Select all Collapse
#include "FiveWin.ch"

function Main()

   local oDlg, oTree 

   DEFINE DIALOG oDlg

   @ 0, 0 TREEVIEW oTree OF oDlg SIZE 200, 200 CHECKBOXES

   ACTIVATE DIALOG oDlg CENTERED ON INIT BuildTree( oTree ) 

   MsgInfo( oTree:aItems[ 1 ]:GetCheck() ) 

return nil 

function BuildTree( oTree ) 

   local oMenu := Array( 2 ), oSubMenu := Array( 3 ) 

   oMenu[ 1 ]:= oTree:Add( "Principal" ) 
      oSubMenu[ 1 ]:= oMenu[ 1 ]:Add( "Imprimir..." )
      oSubMenu[ 1 ]:SetCheck( .T. ) 

   oMenu[ 2 ]:= oTree:Add( "Proyectos" ) 
      oSubMenu[ 2 ]:= oMenu[ 2 ]:Add( "Definir Proyectos" ) 
      oSubmenu[ 3 ]:= oMenu[ 2 ]:Add( "Actualizaci贸n datos" ) 

   oTree:Expand() 

return nil
Angel Salom
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Obteniendo el "check" de un item de un treeview
Posted: Fri May 11, 2018 10:04 AM
Angel, has probado asi?

Code (fw): Select all Collapse
   ACTIVATE DIALOG oDlg CENTERED ON INIT BuildTree( oTree ) ;
      VALID ( MsgInfo( oTree:aItems[ 1 ]:GetCheck() ), .T. )
Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noci贸n del tiempo

El secreto de la felicidad no est谩 en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 728
Joined: Fri Oct 07, 2005 07:38 AM
Re: Obteniendo el "check" de un item de un treeview
Posted: Fri May 11, 2018 10:32 AM
Diste en el clavo!
Gracias

cnavarro wrote:Angel, has probado asi?

Code (fw): Select all Collapse
聽 聽ACTIVATE DIALOG oDlg CENTERED ON INIT BuildTree( oTree ) ;
聽 聽 聽 VALID ( MsgInfo( oTree:aItems[ 1 ]:GetCheck() ), .T. )
Angel Salom
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
Posts: 728
Joined: Fri Oct 07, 2005 07:38 AM
Re: Obteniendo el "check" de un item de un treeview
Posted: Fri May 11, 2018 10:33 AM
... y ahora, este trozo de c贸digo tampoco hace caso, vamos que no pone el Check activado. :-) :-)
Code (fw): Select all Collapse
oSubMenu[ 1 ]:SetCheck( .T. )
Angel Salom
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
Posts: 728
Joined: Fri Oct 07, 2005 07:38 AM
Re: Obteniendo el "check" de un item de un treeview
Posted: Fri May 11, 2018 10:43 AM
Me contesto, hay que poner

Code (fw): Select all Collapse
oDlg:bPainted:={|| PonCheck(oTree)}
Function PonCheck (oTree)
聽 oTree:aItems[1]:SetCheck(.T.)
Return (nil)
Angel Salom
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Obteniendo el "check" de un item de un treeview
Posted: Fri May 11, 2018 12:12 PM
AngelSalom wrote:... y ahora, este trozo de c贸digo tampoco hace caso, vamos que no pone el Check activado. :-) :-)
Code (fw): Select all Collapse
oSubMenu[ 1 ]:SetCheck( .T. )


Angel, en el metodo SetCheck, el primer par谩metro es el objeto oItem, es decir
Code (fw): Select all Collapse
oTree:SetCheck( , .T. )

por lo que el cambio, si no le pasas el objeto, es el item seleccionado en ese momento
De otra forma, podr铆as, por ejemplo:
Code (fw): Select all Collapse
oTree:SetCheck( oTree:aItems[ 2 ] , .T. )
Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noci贸n del tiempo

El secreto de la felicidad no est谩 en hacer lo que te gusta, sino en que te guste lo que haces

Continue the discussion