Page 1 of 1

Tree con CheckBox en Recursos, existe ?? (Solved)

Posted: Tue May 10, 2011 1:26 am
by Raymundo Islas M.
Hola a todos,

He estado buscando/intentando poner un tree en un folder que tenga la opcion de seleccionar ( checkbox ) sin exito.

Buscando en el foro y en samples, hay ejemplos con recursos pero ninguno con la opcion de checkbox, solo usando windows o dialogos desde codigo.

Acaso no existen ??

Saludos

Re: Tree con CheckBox en Recursos, existe ??

Posted: Tue May 10, 2011 7:32 am
by Carles
R,

Debes usar el parametro 11 para activar esta opcion....

Code: Select all

oTree = TTreeView():New( 0, 0, oDlg, , , , ,1,1, ,.t.)

Re: Tree con CheckBox en Recursos, existe ??

Posted: Tue May 10, 2011 2:23 pm
by Raymundo Islas M.
Carles,

Gracias por contestar, desafortunadamente la sintaxis que sugieres es para ser usada "desde codigo" en ventanas y no en recursos con dialogos.

Te agradezco mucho.

Saludos

PS : Algun control OCX que conozcan para esto ?
BBB ( Bueno, Bonito y Barato ) :P

Re: Tree con CheckBox en Recursos, existe ??

Posted: Tue May 10, 2011 6:32 pm
by carlos vargas
Reymundo, no seria muy dificil implementarlo
hay dos formas,
***************************************************************************************************************
1.-
modificar en ttreeview.prg
en la definicion del metodo agregar el parametro lCheckBoxes

Code: Select all

METHOD ReDefine( nId, oWnd, nClrFore, nClrBack, lDesign, cMsg, lCheckBoxes ) CONSTRUCTOR
 
y que el cuerpo del metodo que quede de la siguiente forma

Code: Select all

METHOD ReDefine( nId, oWnd, nClrFore, nClrBack, lDesign, cMsg, lCheckBoxes ) CLASS TTreeView

   DEFAULT oWnd     := GetWndDefault(),;
           nClrFore := oWnd:nClrText,;
           nClrBack := oWnd:nClrPane,; // GetSysColor( COLOR_WINDOW ),;
           lDesign  := .f.,;
            lCheckBoxes := .F.

   ::nId     = nId
   ::oWnd    = oWnd
   ::aItems  = {}
   ::nClrText = nClrFore 
   ::nClrPane = nClrBack 

   ::Register( nOR( CS_VREDRAW, CS_HREDRAW, TVS_HASBUTTONS, TVS_HASLINES, TVS_LINESATROOT, If( lCheckBoxes, TVS_CHECKBOXES, 0 ) ) )

   oWnd:DefControl( Self )

return Self
 
Ejemplo

Code: Select all

local oDlg, oTree
...
define dialog  oDlg name "mydialog" of ...
...
oTree := ReDefine( 101, oDlg, CLR_BLACK, CLR_WHITE, FALSE, "My Treeview", .t. )
...
 
***************************************************************************************************************
2.- en tu codigo redefine normal
Ejemplo

Code: Select all

#define TVS_CHECKBOXES     256 
..
local oDlg, oTree
...
define dialog  oDlg name "mydialog" of ...
...
oTree := ReDefine( 101, oDlg, CLR_BLACK, CLR_WHITE, FALSE, "My Treeview")
oTree:nStyle := nOr( oTree:nStyle, TVS_CHECKBOXES )
...
 
en esta forma no modificas los fuentes de fwh,
ademas puedes hacer la prueba de agregar el estilo en el editor de recursos cuando definas el control, esta seria una tercera opcion.

Re: Tree con CheckBox en Recursos, existe ??

Posted: Wed May 11, 2011 1:13 am
by Raymundo Islas M.
Carlos,

Ya habia intentado algo similar en la clase, pero nop, no funco.
Sin embargo, tu tip de ponerlo en el recurso si funciona !!, Ya salen los checkboxes en el $&$#"%#& tree.

Ya solo me falta una cosa, ( abusando un poco de ti ) como poner un valor al cargo de cada item ?

Me explico : Al mostrar el tree y seleccionar algun(os) items, quiero obtener el cargo de los que fueron seleccionados.

Muchas Gracias Amigo.

Saludos

Re: Tree con CheckBox en Recursos, existe ??

Posted: Wed May 11, 2011 1:56 pm
by carlos vargas
hay un ejemplo en el folder samples de fwh, creo es el testtre5.prg o algo asi, no tengo a mano el fwh ahorita
pero en ese ejemplo se maneja un tree en un dialogo, el caso es que hay un funcion en el metodo onchange que se
dispara, haciendo que cada vez que el usuario marca o esmarca nu item se recorre el tree mostrando los valores de los item
creo que te puede servir esa funcion para ver el manejo,

salu2
carlos vargas

Re: Tree con CheckBox en Recursos, existe ??

Posted: Wed May 11, 2011 1:59 pm
by carlos vargas
ha, ya entendi lo que quieres, es poner y evaluar valores en la data cargo del itemview
si es posible por favor postea un ejemplo que se pueda compilar para darte una manita en esto, incluye el prg y el rc
de la prueba aca en el foro para compilar y ayudarte.

salu2

Re: Tree con CheckBox en Recursos, existe ??

Posted: Wed May 11, 2011 4:13 pm
by Raymundo Islas M.
Carles, Carlos :

Muchas Gracias por su apoyo, ya quedo tal y como lo queria !!!!

Image

Agradezco al buen amigo William Morales, por tan valiosa ayuda a mitad de noche :P

Saludos a todos