Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





dichoso TreeCtrl de microsoft;

Iniciado por Antares, 12 de Noviembre de 2002, 08:50:26 PM

« anterior - próximo »

Antares

                                tengo un tree control con checkbox's de la clase CTreeCtrl y lo que persigo es que cuando un item del tree que tiene hijos (en mi caso una carpeta) si lo contraigo con el raton y le doy a cierto boton quiero que toda su descendencia se deschequee. El caso es que no consigo saber cuando un item esta expandido, lo que uso es la funcion GetItemState que me devuelve un entero aunque he probado de todas las fomas que se me ha ocurrido la que me parece mas logica es esta:

if(TVIS_EXPANDED!=m_CtrlLista.GetItemState(hElemento,TVIS_EXPANDED))

He mirado en las MSDN y no me lo aclaran asi que he creado un UINT para ver lo que devuelve a medida que recorre el tree por un momento pense que lo tenia si devuelve 4162 esta contraido, pero resulta que en otras ocasiones en las que tambien esta contraido me devuelve 4160 o tb 8256 funcionaba pero Mosqueante. Hasta que al final he detectado un 4096, que suponia que lo devolvian todos los items "archivos"(que no tienen hijos) y en este caso me lo devolvia al pasar por una carpeta.

Todos los tutoriale q he visto no hacen referencia a ese tema.
Ya no se q hacer, pienso q no lo entiendo de raiz, pq lo q yo entiendo despues de 4 dias solo con ese problema es q; si le indico en la llamada que quiero ver el estado del item TVIS_EXPANDED pq me devuelve un UINT, si el item o ESTA expandido o NO esta expandido. Y si tiene mas estados expandidos, pq no me concuerdan de manera que pueda saber cuando una carpeta esta contraida aunque sea poniendo.

if(m_CtrlLista.GetItemState(hElemento,TVIS_EXPANDED)==4162)

Qizas seria interesante ver la ID de TVIS_EXPANDED pero aun no se como hacerlo.

Haber si a alguien le ha dado por usar este control y me saca un poco del atoyadero, o si alguien ha visto por ahi un tutorial avanzado del TreeCtrl que use Checks, ya que ademas, tampoco se interceptar cuando se chequea un elemento y cual ha sido.

PD Perdon por la parrafada.

Salud2 y gracias de antemano.

Antares                                






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.